redis 常用数据结构

hash,list,set,sort,set

 

一、hash

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

Redis 中每个 hash 可以存储 232 – 1 键值对(40多亿)。

(1)操作

1

差不多是这个意思

(2)使用jedis进行操作

(3)用途

和java中的hashmap一样使用。

二、list

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。

一个列表最多可以包含 232 – 1 个元素 (4294967295, 每个列表超过40亿个元素)。

(1)操作

1

(2)使用jedis进行操作

(3)用途

有点像java中的list,但是允许出现重复的元素。比如:

[xie4ever, pjl, xie, xie, xie4ever, pjl]

三、set

Redis的Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。

集合中最大的成员数为 232 – 1 (4294967295, 每个集合可存储40多亿个成员)。

(1)操作

1

(2)使用jedis进行操作

(3)用途

和java中的set一样使用。

四、sorted set

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 – 1 (4294967295, 每个集合可存储40多亿个成员)。

(1)操作

1

(2)使用jedis进行操作

(3)用途

有一系列的排序、求交并集的方法,实现某些操作。

五、总结

由于有不同的时间复杂度和方法,这几种数据结构都有不同的使用场景。

具体情况具体使用是最重要的。

发表评论

电子邮件地址不会被公开。 必填项已用*标注