• Redis系列——5种常见数据类型day1-3


    前言

    在使用开始连接到cli后需要你输入密码

    auth 你的密码
    
    • 1

    数据类型

    1. String
    2. Hash
    3. List
    4. Set
    5. SortedSet
    6. GEO
    7. BitMap
    8. HyperLog

    前5个为基本类型

    获取帮助

    help @XXX
    
    • 1

    在这里插入图片描述

    key的结构

    redis中的key允许有多个电磁形成层级结构,多个单词之间用隔开

    level1:level2:level3:keyname:id
    
    • 1

    在这里插入图片描述

    常用命令

    命令说明
    keys xxx查找目标key,不建议在生产模式中使用
    del xxx(可同时删除多个)删除目标key,返回删除的key的数量
    exists xxx判断key是否存在
    expire xxx 秒数给一个key设置有效期,有效期到会删除
    ttl xxx查看一个key的剩余有效期

    String

    最简单的存储类型,它的value字符串,最大空间不超过512mb
    有三种类型

    1. string:普通字符串
    2. int:整数类型,可以自增自减
    3. float:浮点类型,也可以自增自减

    命令

    1. set:添加或修改已经存在的String类型的键值对
    2. get:根据key获取value
    3. mset:批量添加多个键值对
    4. mget批量获取value
    5. incr:让整形的key自增1
    6. incrby:让整型按照指定步长自增
    7. incrbyfloat:让浮点数按照指定步长自增
    8. setnx:添加stirng型的键值对,前提是key不存在,否则不执行
    9. setex:添加string型的键值对,并指定有效期
    10. decr:让整型自减1
    11. decrby:按照指定步长自减

    注意:浮点数没有decrbyfloat,只能设置负数自减

    在这里插入图片描述
    在这里插入图片描述

    Hash

    hash散列,其value是无序字典
    String结构是将对象序列化为JSON字符串后存储,当需要修改对象某个字段时很不方便,而hash结构可以将对象的每个字段独立存储,针对单个字段进行crud

    命令

    1. HSET key field value:添加或者修改hash类型key的field的值
    2. HGET key field:获取一个hash类型key的field的值
    3. HMSET:挽量添加多个hash类型key的field的值
    4. HMGET:批量获取多个hash类型key的field的值
    5. HGETALL:获取一个hash类型的key中的所有的field和value
    6. HKEYS:获取一个hash类型的key中的所有的field
    7. HVALS:获取一个hash类型的key中的所有的value
    8. HINCRBY:让一个hash类型key的字段值自增并指定步长
    9. HSETNX:添加一个hash类型的key的field值,前提是这个field不存在,否则不执行

    List

    可以看作一个双向链表结构,支持正向和反向检索,常用于存储一个有序数据

    1. 有序
    2. 元素可以重复
    3. 插入删除快
    4. 查询速度一般

    命令

    1. LPUSH key element …:向列表左侧插入一个或多个元素
    2. LPOP key:移除并返回列表左侧的第一个元素,没有则返回nil
    3. RPUSH key element …:向列表右侧插入一个或多个元素
    4. RPOP key:移除并返回列表右侧的第一个元素
    5. LRANGE key star end:返回一段角标范围内的所有元素
    6. BLPOP和BRPOP:与LPOP和RPOP类似,只不过在没有元素时等待指定时间,而不是直接返回nil

    Set

    可以看作Java中的HashSet

    1. 无序
    2. 元素不重复
    3. 查找快
    4. 支持交并补等功能

    命令

    1. SADD key member … :向set中添加一个或多个元素
    2. SREM key member …:移除set中的指定元素
    3. SCARD key:返回set中元素的个数
    4. SISMEMBER key member:判断一个元素是否存在于set中
    5. SMEMBERS:获取set中的所有元素
    6. SINTER key1 key2 …:求key1与key2的交集
    7. SDIFF key1 key2 …:求key1与key2的差集
    8. SUNION key1 key2 …:求key1和key2的并集

    SortedSet

    有序set集合,其中每一个元素都有一个score属性,可以基于score属性对元素进行排序,底层为skiplist+hash表,常用于实现排行榜功能

    1. 可排序
    2. 元素不重复
    3. 查询速度快

    命令

    1. ZADD key score member:添加一个或多个元素到sorted set,如果已经存在则更新其score值
    2. ZREM key member:删除sorted set中的一个指定元素
    3. ZSCORE key member:获取sorted set中的指定元素的score值
    4. ZRANK key member:获取sorted set中的指定元素的排名
    5. ZCARD key:获取sorted set中的元素个数
    6. ZCOUNT key min max:统计score值在给定范围内的所有元素的个数
    7. ZINCRBY key increment member: 让sorted set中的指定元素自增,步长为指定的increment值
    8. ZRANGE key min max:按照score排序后,获取指定排名范围内的元素
    9. ZRANGEBYSCORE key min max:按照score排序后,获取指定score范围内的元素
    10. ZDIFF、ZINTER、ZUNION:求差集、交集、并集

    若需要进行降序排序则在Z后加rev

  • 相关阅读:
    MySQL 基本语句
    【操作系统】BIOS开机自检
    【Python】python查看安装包的位置
    Java毕设项目——超市POS收银管理系统(java+SSM+Maven+Mysql+Jsp)
    从实例学Kettle(一):获取股票行情数据
    Java笔记:UDP基础使用与广播
    Centos7安装Redis7.x最新稳定版|配置开机启动(骨灰级|保姆级)
    国内首批!阿里云云原生数据湖产品通过信通院评测认证
    人工智能是否有风险
    第6章 Elasticsearch,分布式搜索引擎
  • 原文地址:https://blog.csdn.net/qq_51553982/article/details/125462102