• Redis及其常用命令(二)


    SortedSet类型

    在此类型中,每个元素都有一个分数

    key -> string
    value -> sorted([socre,member],[score,member]...)
    # 添加元素
    zadd key score member
    # 遍历集合
    zrange key start stop [withscores] #升序
    zrevrange key start stop [withscores]#降序
    # 返回指定分数区间内元素个数
    zcount key min max
    # 返回成员中的排名(从小到大)
    zrank key member
    # 删除一个或者多个元素
    zrem key member[member...]
    # 返回成员中的排名(从大到小)
    zrevrank key member
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    在这里插入图片描述

    Hash类型

    key -> string
    value -> hash([key:value]....)
    # 添加数据 field是hash里键值对中的键
    hset key field value
    # 取数据
    hget key value
    # 批量添加数据
    hmset key field value....
    # 批量读取数据
    hmegt key field....
    # 删除数据
    hdel key field....
    # 判断给定的field域是否存在,存在域返回1,不存在或者key不存在返回0
    hexists key field
    # 返回哈希表key中,所有的键值对
    hgetall key
    # 返回哈希表key中,所有的键,即所以的field
    hkeys key
    # 返回哈希表key中元素数量
    hlen key
    # 返回哈希表中,所有的键值对中的值
    hvals key
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

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

    与key有关的命令

    # 删除键
    del key[key....]
    # 查找符合所有给定模式pattern的key
    keys pattern
    # *匹配所有的的key h?llo匹配hello,hallo等
    # h*llo 匹配 hllo和heeeello等
    # h[ae]llo匹配hello和hallo,但不匹配hillo
    
    # 检测key是否存在,存在返回1,否则返回0
    exists key 
    # 为给定的key设置生存时间
    expire key seconds
    # 以秒为单位,返回给定key的剩余生存时间,不存在返回-2,存在但没有设置生存时间返回-1
    ttl key
    # 移除给定key的生存时间
    persist key
    # 返回key的类型
    type key
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    在这里插入图片描述

    Redis的配置文件相关条目

    在这里插入图片描述

    Redis数据持久化

    持久化:数据从内存到磁盘的过程
    数据持久化的两种方式

    • rdb 默认打开 磁盘持久化文件 xxx.rdb 将数据以二进制的形式写入磁盘
    • aof 默认关闭 磁盘持久化文件 xxx.aof 直接将生成数据的命令写入磁盘

    两者持久化方式的对比

    1. 随着时间推移,存命令的aof占用的内存会越来越多,因此aof文件大,恢复时间长,效率低,rdb文件较小,恢复时间短,效率更高
    2. rdb方式同步数据按照用户设定的频率来同步,容易丢数据,数据完整性较低,而aof同步数据频率固定,数据较为完整
      对应的配置文件中有关的条目如下
      在这里插入图片描述
      注意
      aof和rdb模式可以同时打开,因为二者不是写同一个磁盘文件
      aof和rdb模式可以同时关闭
      两种模式都开启时,若要进行数据恢复操作,从效率上考虑使用rdb模式,从数据完整性上考虑使用aof模式
      C++有关使用Redis的接口很多,需要根据需要单独学习
  • 相关阅读:
    【MindSpore易点通】如何使用溢出检测工具定位精度问题
    Azure Terraform(十三)提升 Azure Web App Plan 的性能
    PDF 文件与其他文档格式相比有哪些优势?
    【数据结构】线性表的顺序存储结构
    【GAMES103】基于物理的计算机动画入门(1)前置的基础数学知识
    构建你的Conda包:使用conda skeleton命令打造包的骨架
    【操作系统】进程控制
    IP地址定位基础数据采集
    前端 TS 快速入门之三:class 类
    B22-9-5
  • 原文地址:https://blog.csdn.net/weixin_50026222/article/details/136639020