Redis有哪些数据结构【最新最详细】

今天爱分享给大家带来Redis有哪些数据结构【最新最详细】,希望能够帮助到大家。

1、字符串String

以key-value的方式存储数据。

2、哈希(hash)

key为字符串,值分为两部分field和value,视为属性和值。可以把key当作一张表的一行,Key就代表一个id,每个属性可以看作关系型数据库的一个字段。fields不能相同,value可以。

如 value={{field1,value1},…{fieldN,valueN}}

3、列表(List)

key是字符串,value是一个有序的list。特点是有序、可以重复。

优点:

1.列表的元素是有序的,这就意味着可以通过索引下标获取某个或某个范围内的元素列表。
2.列表内的元素是可以重复的。

4、集合(Set)

集合类型也是用来保存多个字符串的元素,但和列表不同的是集合中不允许有重复的元素,并且集合中的元素是无序的,不能通过索引下标获取元素,redis除了支持集合内的增删改查,同时还支持多个集合取交集、并集、差集

5、有序集合(zset)

lement + score

有序集合不能有无重复元素,元素是有序,csore可以重复

但是它和列表的使用索引下标作为排序依据不同的是,它给每个元素设置一个分数,作为排序的依据。

特殊数据结构

6、HyperLogLog

Redis 在 2.8.9 版本添加了 HyperLogLog 结构。

Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。

HyperLogLog 只会根据输入元素来计算基数,而不会储存输入元素本身,所以 HyperLogLog 不能像集合那样,返回输入的各个元素。

PFADD key element [element ...] 
添加指定元素到 HyperLogLog 中。
PFCOUNT key [key ...] 
返回给定 HyperLogLog 的基数估算值。
PFMERGE destkey sourcekey [sourcekey ...] 
将多个 HyperLogLog 合并为一个 HyperLogLog

7、Geo

Redis 的 GEO 是 3.2 版本的新特性。这个功能可以将用户给定的地理位置信息储存起来, 并对这些信息进行操作

8、Pub/Sub

发布/订阅”在redis中,被设计的非常轻量级和简洁,它做到了消息的“发布”和“订阅”的基本能力;但是尚未提供关于消息的持久化等各种企业级的特性。

一个Redis client发布消息,其他多个redis client订阅消息,发布的消息“即发即失”,
redis不会持久保存发布的消息;
消息订阅者也将只能得到订阅之后的消息,通道中此前的消息将无从获得。

人已赞赏
数据库

使用dapper扩展读取,报异常:Error Parse column: ** - Object.【解决办法】

2020-10-29 15:39:46

数据库

redis应用场景有哪些?【最新最详细】

2020-11-5 14:06:59

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
'); })();