Redis-数据类型

leard 发布于 2025-06-05 0 次阅读


  • String:最基本数据类型,最大长度512MB
    • set <key> <value> 设置指定的key和value
    • get <key> 获取指定key的value
    • exists <key> 判断key是否存在
    • del <key> 删除key
    • strlen <key> 返回key存储的字符串长度
  • List:有序的字符串集合,链两端可以进行插入、删除
    • rpush <key> <value1> <value2>... 从链表的尾部插入多个元素
    • lpush <key> <value1> <value2>... 从链表的头部插入多个元素
    • lrange <start> <end> 返回链表start和end之间的元素
    • llen <key> 返回链表的长度
    • lpop\rpop 删除头部\尾部的元素
    • lset <key> <index> <value> 用于设置列表 key 中 index 位置的元素
    • lindex <key> <index> 返回列表 key 里索引 index 位置存储的元素
  • Hash:是一个键值对集合,值value 中存储的是 hash 表。Hash 特别适合用于存储对象。
    • hset <key> <field> <value> 为存储在 key 中的哈希表的 field 字段赋值 value 。
    • hget <key> <field> 返回哈希表中指定字段 field 的值,如果给定的字段或 key 不存在时,返回 nil 。
    • hdel <key> <field> 删除哈希表 key 中的一个或多个指定字段,不存在的字段将被忽略。
    • hlen <key> 获取哈希表中字段(fields)的数量。
  • Set:无序且不重复的字符串集合
    • sadd <key> <value> 一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。
    • scard <key> 集合中成员的数量。 当集合 key 不存在时,返回 0 。
    • smemers <key> 返回存储在 key 中的集合的所有的成员。
    • sdiff <key1> <key2> 返回第一个集合与其他集合之间的差异,也可以认为说第一个集合中独有的元素。不存在的集合 key 将视为空集。
    • sdiffstore <key> <key1> <key2> 将第一个集合与其他集合之间的差异保存到key这个集合中。
    • sinter <key1> <key2> 返回所有给定集合的成员交集。
    • sinterstore <key> <key1> <key2> 将所有给定集合的成员交集保存到key这个集合中。
    • smove <key1> <key2> <value> 将key1的value移动到key2中。
    • srem <key> <value> 删除指定的元素。
  • SortedSet(Zset):顺序集合
    • zadd
    • zcard
    • ...
  • BitMap:适合用来表示布尔值
  • HyperLogLog:概率性数据结构,用来估算基数
    • pfadd <key> <value1> <value2>... 将所有元素参数添加到 HyperLogLog 数据结构中。
    • pfcount <key>返回给定 HyperLogLog 的基数估算值。
  • GEO:存储地理信息
  • Stream:日志数据结构,适合用来存储时间序列数据或消息流