Redis 五大数据类型使用

Redis支持字符串(string),哈希(hash),列表(list),无序集合(set),有序集合(zset)等数据结构存储。redis命令不区分大小写,但key严格区分大小写


 一、string数据类型

 

 - ttl命令是返回key的剩余过期时间,单位为秒

- mset和mget批量处理,能够提高操作效率。但redis是单线程模型,如果数据量过大,会造成redis阻塞

- setnx可实现分布式锁

关于自增自减操作命令如下

 

使用场景

1.计数:由于Redis是单线程模型,所以不用考虑并发造成计数不准的问题,通过 incrby 命令,可以正确的得到我们想要的结果

2.限制次数:例如登录次数校验,在5分钟内超过登录错误3次,就不让登录了,每次登录设置key自增一次,并设置该key的过期时间为5分钟后,每次登录检查一下该key的值来进行限制登录


 二、hash数据类型

 

 

 使用场景

  1.查询的时间复杂度是O(1),用于缓存一些信息


 三、list数据类型

字符串列表,按照插入顺序排序,可以将插入的值放到头部(左)和尾部(右),底层是一个链表。
list数据类型具有两个特点:有序、可以重复

 

 使用场景

  1.栈:通过命令 lpush+lpop

  2.队列:命令 lpush+rpop

  3.有限集合:命令 lpush+ltrim

  4.消息队列:命令 lpush+brpop


 四、set数据类型

string类型的无序集合。具有两个特点:无序、不可重复

 

 

使用场景

   利用集合的交并集特性,比如在社交领域,我们可以很方便的求出多个用户的共同好友,共同感兴趣的领域等。


 五、zset数据类型

string类型的有序集合。具有两个特点:有序、不可重复

 

使用场景

  和set数据结构一样,zset也可以用于社交领域的相关业务,并且还可以利用zset 的有序特性,还可以做类似排行榜的业务

原文地址:https://www.cnblogs.com/lwcode6/p/13405720.html