Redis入门超神 - 04 redis的5种数据结构

网友投稿 860 2022-05-30

关于命令的具体用法推荐网站: Redis命令教程中文版

String 类型是 redis 中最基本的数据类型,一个 key 对应一个 value 。并且 String 类型是二进制安全的,意思是 redis 的 String 可以包含任何数据。例如数字,字符串,jpg图片或者序列化的对象。

常用命令:get ,set ,del ,incr ,decr,getset,incrby 等。

应用场景:

热点数据,常用数据,结果不经常变动数据缓存;

计数器,用户数,pv/uv等。

session,比如 spring session + redis 实现 session 共享。

List 即链表(redis 使用双端链表实现的 List),它是有序的,value可以重复,可以通过下标取出对应的value值,左右两边都能进行插入和删除数据。List 的另一个应用就是消息队列,可以利用 List 的 PUSH 操作,将任务存在 List 中,然后工作线程再用 POP 操作将任务取出进行执行。

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

Redis入门到超神 - 04 redis的5种数据结构

常用命令:linsert,llen,lpop,lpush,lrem,rpop,rpush等。

应用场景:

微博timeline

消息队列

Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。它是一个Mapmap,指值本身又是一种键值对结构,如 value={{field1,value1},…fieldN,valueN}}。

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

常用命令:hexists,hget,hgetall,hdel,hlen,hkeys等等。

应用场景:缓存用户信息,等。

集合类型用来保存多个字符串的元素,集合中没有重复的元素;集合中的元素是无序的;不能通过索引下标获取元素;支持集合间的操作,例如多个集合取交集、并集、差集。

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

常用命令:sadd 、srem、scard、smembers、sismember等。

应用场景:共同好友,共同爱好,用户打标签等。

和Sets相比,Sorted Sets是将 Set 中的元素增加了一个权重参数 score,使得集合中的元素能够按 score 进行有序排列。有序集合中的元素不可以重复,但是score 分数 可以重复。

常用命令:zadd,zcard, zrange,zscore,zrange等。

应用场景:各种排行榜,例如数排行,关注数排行,等等。

Redis 数据结构

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Docker Review - 使用docker volume数据卷实现容器内的数据与宿主机同步
下一篇:让医联体 “建”起来、“动”起来,打造互联网+健康医疗新模式
相关文章