美文网首页
redis 数据结构常用操作

redis 数据结构常用操作

作者: vckah | 来源:发表于2018-06-30 19:45 被阅读0次
    • keys *
      获取当前所有 key-value 对
    • 字符串
      1. getrange key start end
        获取 key 从 start 到 end 的字符,是闭区间,与 Python 不同
      2. getset key value
        将 key 设为 value,如果有旧值,返回旧值,如果是新 key,那么返回 nil
      3. mget key1 key2
        获取给定的多个 key
      4. strlen key
        获取 key 存储字符串的长度
      5. append key value
        如果 key 存在,那么在 key 对应的字符串后添加,如果不存在,那么创建新 key。它返回添加后字符串的长度
      6. incr key 和 decr key
        将 key 中存储的数字值加一/减一
      7. incrby/decrby key 数字
        将 key 存储的数字值加上/减去给定的增量值
      8. msetnx key value [key value]
        同时设置一个/多个,仅当给定的 key 不存在
      9. setnx key value
        只有在 key 不存在时设置 key 的值
      10. setex key seconds value
        将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。如果 key 已存在,那么就是覆盖
    • 列表
      列表 push 的时候是默认一直向右走的,即 lpush 每次 push 一个值,那么之前的值就会向右挪一位
      1. lpush key value [key2, key3, ...]
        从左向右放入列表中
      2. lrange key start end
        从 start 开始到 end 取列表的值,闭区间,列表默认开始下标是 0。可以使用 lrange key 0 -1 快速获取列表所有的值
      3. llen key
        获取列表长度
      4. lindex key index
        获取列表下标为 index 的元素
      5. lpop key
        弹出列表的第一个元素,就是最左边的元素
      6. rpop key
        弹出列表最后一个元素,就是最右边的元素。
      7. lset key index value
        通过下标给列表的元素赋值
      8. rpush key value
        给列表右侧添加值
      9. blpop key timeout
        阻塞版本的 lpop,移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。返回列表名 key 和 弹出的元素。没有会返回空
      10. ltrim key start stop
        保留列表中从 start 到 stop 闭区间内元素,其它会被删除。
    • 哈希
      是一个 string 类型的 field 和 value 的映射表。
      1. hmset key field value field value
        设置 hash 键值对
      2. hset key field value
        设置单独一个字段的值
      3. hgetall key
        获取 hash 的全部
      4. hget key field
        获取 hash 中某一个字段的值
      5. hlen key
        获取 hash 中字段的数量
      6. hmget key field1 field2
        获取多个字段的值
      7. hsetnx key field value
        只有在字段不存在时,才设置值
      8. hvals key / hkeys key
        获取哈希表中所有值 / 字段
      9. hincrby key field increment
        为 hash 中 key 指定的字段的整数值加增量
      10. hincrbyfloat key field increment
        为 hash 中 key 指定的字段的浮点数加增量
      11. hdel key field1 [field2]
        删除某个字段
    • 集合
      set 是 string 类型的无序集合。集合成员是唯一的。
      1. sadd key vals1 [vals2]
        向集合中添加一个或多个成员
      2. smembers key
        获取集合当中的所有元素
      3. scard key
        获取集合里元素个数
      4. sdiff key1 key2
        key1 和 key2 的差集,即集合 1 中不在集合 2 中的
      5. sinter key1 key2
        key1 和 key2 的交集
      6. sismember key value
        判断 value 是否是 key 的成员,是返回 1 ,否返回 0
      7. spop key
        移除并返回 key 中的一个随机元素,适合随机挑选
      8. srandmember key [count]
        返回集合中一个或多个随机数,不加 count 是返回一个,后面跟 count 是返回多个随机数
      9. sunion key1 key2
        返回 key1 和 key2 的并集
        还有返回差集/并集并存储在额外的集合中。
    • 有序集合
      有序集合,也是 string 类型的集合,不允许重复。但每个元素会关联一个 double 类型的分数,redis 通过分数来为集合中的成员进行从小到大的排序。
      1. zadd key score1 value1 score2 value2
        向有序集合中添加一个/多个元素,注意 score 是权重的意思
      2. zcard key
        获取有序集合的成员数
      3. arem key value [value]
        移除有序集合中的一个/多个成员
      4. zscore key value
        返回有序集合中成员的分数值
      5. zcount key min max
        返回有序集合中 [min,max] 区间的成员数
        先写这么多方法吧,感觉这些是常用的。将来如若会用到其他的,会再增加。

    相关文章

      网友评论

          本文标题:redis 数据结构常用操作

          本文链接:https://www.haomeiwen.com/subject/jhetuftx.html