1.前言
redis支持多种数据结构(String,List,Set,Zset,Hash),其中redis的命令不区分大小写,但是Key严格区分大小写。

2.string数据类型
string是基本类型,可以存储任何数据。value最大长度512M。
常用命令


常用功能
一般存储数据使用
setnx可以用于实现分布式锁
mset和mget这种批量处理命令,能够极大的提高操作效率。
因为一次命令执行所需要的时间=1次网络传输时间+1次命令执行时间,n个命令耗时=n次网络传输时间+n次命令执行时间,而批量处理命令会将n次网络时间缩减为1次网络时间,也就是1次网络传输时间+n次命令处理时间。
但是需要注意的是,Redis是单线程的,如果一次批量处理命令过多,会造成Redis阻塞或网络拥塞(传输数据量大)。计数
由于Redis单线程的特点,我们不用考虑并发造成计数不准的问题,通过 incrby 命令,我们可以正确的得到我们想要的结果。
限制次数
比如登录次数校验,错误超过三次5分钟内就不让登录了,每次登录设置key自增一次,并设置该key的过期时间为5分钟后,每次登录检查一下该key的值来进行限制登录。
3.Hash数据类型
hash 是一个键值对集合,是一个 string 类型的 key和 value 的映射表,key 还是key,但是value是一个键值对(key-value)。对应Java里面的 Map<String,Map<String,Object>> 集合
常用命令

常用功能
缓存一些需要经常查询的数据,查询复杂度O(1)
4.List数据类型
简单列表,有序,可重复。可以作为队列和栈使用。底层是链表实现(下章节介绍)
常用命令


常用功能
栈 lpush+lpop
队列 lpush+rpop
有限集合 lpush+ltrim
消息队列 lpush+rpop
5.Set数据结构
无序列表,不重复
常用命令


常用功能
大数据交集取共同爱好,习惯
6.Zset数据结构
Set的有序版本
常用命令

常用功能
排行榜等
7.系统相关命令

8.针对KEY操作的命令

9.结语
介绍一个命令,用来查询这五种数据结构之下,在底层的数据结构实现。
OBJECT ENCODING key
文章转载自叶归林,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




