开发者社区> 问答> 正文

Redis 的数据结构都有哪些

Redis 的数据结构都有哪些

展开
收起
游客pklijor6gytpx 2019-12-05 15:19:03 1550 0
2 条回答
写回答
取消 提交回答
    • 字符串类型:二进制安全的字符串
    • Lists: 按插入顺序排序的字符串元素的集合。他们基本上就是链表(linked lists)。
    • Sets: 不重复且无序的字符串元素的集合。
    • Sorted sets,类似Sets,但是每个字符串元素都关联到一个叫score浮动数值(floating number value)。里面的元素总是通过score进行着排序,所以不同的是,它是可以检索的一系列元素。
    • Hashes,由field和关联的value组成的map。field和value都是字符串的。这和Ruby、Python的hashes很像。
    • Bit arrays (或者说 simply bitmaps): 通过特殊的命令,你可以将 String 值当作一系列 bits 处理:可以设置和清除单独的 bits,数出所有设为 1 的 bits 的数量,找到最前的被设为 1 或 0 的 bit,等等。
    • HyperLogLogs: 这是被用于估计一个 set 中元素数量的概率性的数据结构。别害怕,它比看起来的样子要简单…参见本教程的 HyperLogLog 部分。
    • GEO功能在Redis3.2版本提供,支持存储地理位置信息用来实现诸如附近位置、摇一摇这类依赖于地理位置信息的功能.geo的数据类型为zset.
    • Stream是Redis 5.0版本引入的一个新的数据类型,它以更抽象的方式模拟日志数据结构,但日志仍然是完整的:就像一个日志文件,通常实现为以只附加模式打开的文件,Redis流主要是一个仅附加数据结构。

    上文摘自:http://www.redis.cn/

    另外也可以参考https://help.aliyun.com/document_detail/26356.html ,阿里云redis提供了更加丰富的数据结构:TairGIS、TairBloom等

    2020-03-12 17:28:54
    赞同 展开评论 打赏
  • 字符串(strings):存储整数(比如计数器)和字符串,有些公司也用来存储json/pb等序列化数据,并不推荐,浪费内存

    哈希表(hashes):存储配置,对象(比如用户、商品),优点是可以存取部分key,对于经常变化的或者部分key要求atom操作的适合

    列表(lists):可以用来存最新用户动态,时间轴,优点是有序,确定是元素可重复,不去重

    集合(sets):无序,唯一,对于要求严格唯一性的可以使用

    有序集合(sorted sets):集合的有序版,很好用,对于排名之类的复杂场景可以考虑

    2019-12-05 15:19:51
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ApsaraDB for Redis——与创客同行 立即下载
微博的Redis定制之路 立即下载
云数据库Redis版的开源之路 立即下载