• Redis笔记


    db操作

    共有16个库,默认进入0号库flushdb清空当前库
    flushall清空所有库
    select db_index切换库dbsize查看当前库key的数量

    key操作

    伴随value一起增加del key同步删除kv
    unlink key 非阻塞删除kv
    keys * 查看所有key
    exists key 判断key是否存在
    type key 查看key对应value类型
    ttl key查看key过期时间,-1表示永不过期(默认),-2表示已过期不存在
    expire key ttl_time设置过期时间

    value操作

    类型String

    set k v 添加kv,默认不过期
    setex k ttl v 添加kv同时设置过期时间
    setnx k v key不存在时才能设置
    mset k1 v1 k2 v2…同时设置多个值
    msetnx k1 v1 k2 v2 key都不存在才能设置成功
    del k
    append k v追加
    getset k v查找时同时设置新值
    incr/decr k 将k对应v加1
    inrby/decrby k step 按步长增减
    setrange k index v 将k从位置index处起设置为v
    get k查看v
    getset k v查找时同时设置新值
    mget k1 k2…
    strlen k 获取v长度
    getrange k [start end] 获取v部分内容,起始索引为0
    实现方式SDS(Simple Dynamic String),可修改,动态扩容,小于1M时扩容加倍,超过1M每次扩容1M,整个长度最大512M

    类型List

    lpush k v1 v2… 插入头部
    rpush k v1 v2… 插入尾部
    del k
    lpop k 弹出头部
    rpop k 弹出尾部
    lrem k n v 删除n个v,从左到右
    linsert k before v newv 在v前面插入newv
    lset k index v 设置index处为v
    lrange k start end 从左到右取数 lrange 0 -1查看所有元素
    lindex key index 通过索引获取元素
    llen key 获取列表长度
    互操作rpoplpush k1 k2 取k1尾部插入k2头部
    实现方式双向链表ziplist

    类型Set

    sadd k v1 v2
    srem k v1 v2 删除
    spop k 随机取一个,并删除这个元素
    linsert k before v newv 在v前面插入newv
    lset k index v 设置index处为v
    smembers k 查看
    sismember k v 判断
    scard k 返回元素个数
    srandmember k n 随机取n个元素但不删除
    互操作smove k1 k2 v 把v从k1移入k2
    sinter k1 k2 交集
    sunion k1 k2 并集
    sdiff k1 k2 差集
    实现方式HashSet

    类型HashMap, V为双元素

    hset k field value为key增加field属性及对应值
    hmset k f1 v1 f2 v2增加多个属性及值
    hsetnx k field value属性不存在时添加
    hincrby k field increment对field对应值增减
    hget k field获取field对应值
    hexist k field判断field是否存在
    hkeys k 查看所有field
    hvals k 查看所有field的value
    实现方式ziplist hashtable

    类型ZSet

    zadd key score1 value1 score2 value2…创建zset
    zrem key value删除集合中的value
    zincrby key increment value将value的score增加increment
    zrange key start end [withscores]查看value及score, zrange key 0 -1 查看所有元素
    zrangebyscore key min max [withscores]查看socre在min max范围内数据,根据score从小到大
    zrevrangebyscore key min max [withscores]查看socre在min max范围内数据,根据score从大到小
    zcount key min max统计scrore在[min, max]范围内元素个数
    zrank key value查看元素排名
    实现方式跳表+Hash

    类型BitMap

    setbit key index 1 设置为1
    setbit key index 0 设置为0
    getbit key index获取
    bitcount key start end计数
    互操作bitop and/or/not/xor newkey key1 key2
    实现方式bitmap

    类型HyperLogLog

    pfadd key value1 value2…
    pfcount key统计基数
    互操作pfmerge newkey key1 key2…HLL合并
    实现方式HyperLoglog

    类型Geospatial

    geoadd key longitude latitude member…
    geopos key member查询经纬度
    geodis key member1 member2 m|km 查询距离
    georadius key longitude latitude radius m|km查询某点为中心半径范围内元素
    互操作
  • 相关阅读:
    java计算机毕业设计化妆品销售网站源码+mysql数据库+系统+lw文档+部署
    工业智能网关在能耗“双控”的智能化应用
    【设计模式】单例模式
    Android Koom 处理 app 的OOM 一些系列问题(java /native/thread leak)
    2024年元旦怎么放假?元旦放假时间安排表记录到待办APP
    Windows电脑安装Linux(Ubuntu 22.04)系统(图文并茂)
    手动实现一个Spring 框架IOC容器
    Python实现带图形界面的计算器
    MySQL中的存储过程(详细篇)
    关于对Java泛型的解释和思考
  • 原文地址:https://blog.csdn.net/jinjiating/article/details/127938900