• redis常用存储结构


    存储的数据类型:key,value形式存储的 key值是String类型的 value值是下面五种形式

    String存储

    set:格式:set key值 value值 ex 秒数 后面这是设置的过期时间

    查看剩余的时间:ttl key值

    或者直接设置过期时间:expire key值 秒数

    get:获取value

    判断存在哪些key值:keys *

    清空所有库里面的数据 (谨慎使用:flushall

    获取类型:type key值

    查看命令怎么使用:help set 或者? set

    获取值的长度:strlen key值

    判断值是否存在:exists key值,key值... 存在几个就返回几

    值自减:decr key值 假如对应的value为1234 执行完后变成1233 一般自增用于用户访问次数

    decrby key值 几个 decrby key值 2 value就会从3变成1

    值自增:incr key值 从1变成2

    incrby key值 2 从1变成3

    hash存储对象

    比如存储个人信息

    存储:hset 对象(大key) 属性(小key) 内容 举例:hset qcby name1 renzilu

    取值:hget 大key 小key 举例: hget qcby name1

    取所有值: hgetall 大key

    看是否存在:hexists 大key 小key

    获取字段名(小key):hkeys 大key

    获取值:hvals 大key 会获取到小key的值

    同时设置多个小key小value: hmset 大key 小key 小value 小key 小value....

    list存储

    双向链表存储 取出数据会消失 用于发布与订阅 消息队列 慢查询

    从左边开始存数据lpush key value value value value value .. 从左边入队列,先存入的在最右边

    从右边开始存数据rpush key value value value value value .. 从右边入队列,先存入的在最左边

    从左边取数据:lpop key 从左边取数据

    从右边取数据:rpop key 从右边取数据

    查看长度:llen key

    清空: del key

    set存储

    类似hashset 无序不可重复

    存数据: sadd key value value value...

    取数据:spop key 数量 随机取出几个数

    获取所有成员:smembers

    获取个数:scard key

    并集操作:suntion key key

    交集操作:sinter key key

    zset:跳表查询--接近二分查找

    需要排序的场景,比如top10的热点文章,或者排行榜

    消息的延迟发送,用score存储发送时间戳,定时任务扫描sorted set,判断时间进行发送。

     

    存数据:zadd 大key 内容 小key 会按着内存从大到小排序

    取数据:zscore 大key 小key

    查看元素个数:zcard 大key

    查看区间内元素:zrange 大key 0 10 这是查看0-10区间内的元素,会排好序

    查看区间内元素:zrevrange 大key 0 10 ** 不会排序

    删除:zrem 大key 小key 小key....

  • 相关阅读:
    leetcode:2089. 找出数组排序后的目标下标
    大语言模型的三阶段训练
    【AUTOSAR-RTE】-4-Port和Interface以及Data Type
    微服务框架 SpringCloud微服务架构 10 使用Docker 10.5 容器命令案例2
    请讲一讲JS中的 for...in 与 for...of (上)
    研究发现AI写的代码和人类一样也会有BUG
    stm32 - GPIO
    LeetCode - Medium - 63. Unique Paths II
    【JAVA】网页版登录注册系统
    Android 11 Launcher启动流程
  • 原文地址:https://blog.csdn.net/weixin_47796247/article/details/127836257