zoukankan      html  css  js  c++  java
  • 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 的有序特性,还可以做类似排行榜的业务

  • 相关阅读:
    css清除浮动
    对象遍历
    vue 小工具
    数据库优化-聚合索引
    mysql修改唯一索引
    输出带pre的调试信息
    mysql的group by优化跟limit优化
    地址联动数据抓取
    php7新特新
    linux同步系统时间
  • 原文地址:https://www.cnblogs.com/lwcode6/p/13405720.html
Copyright © 2011-2022 走看看