Redis8个基本数据类型

Redis的8个基础类型

1.String

  特点:非常常用的数据类型,String能表达3种值的类型:字符串、整数、浮点数 100.01 是个六位的串
  应用场景:
     1、key和命令是字符串
     2、普通的赋值
     3、incr用于乐观锁
      incr:递增数字,可用于实现乐观锁 watch(事务)
       4、setnx用于分布式锁

2.list列表

  特点:list列表类型可以存储有序、可重复的元素
          获取头部或尾部附近的记录是极快的
          list的元素个数最多为2^32-1个(40亿)
  应用场景:作为栈或队列使用,可用于各种列表,比如用户列表、商品列表、评论列表等。

3.set集合

   特点:无序、唯一元素
            集合中最大的成员数为 2^32 - 1
   应用场景:适用于不能重复的且不需要顺序的数据结构 .比如:关注的用户,还可以通过spop进行随机抽奖

4.sortedset简称Zset

   特点:SortedSet(ZSet) 有序集合: 元素本身是无序不重复的
           每个元素关联一个分数(score)
           可按分数排序,分数可重复
   应用场景:由于可以按照分值排序,所以适用于各种排行榜。比如:点击排行榜、销量排行榜、关注排行榜等。

5.hash类型

   特点:Redis hash 是一个 string 类型的 field 和 value 的映射表,它提供了字段和字段值的映射。
           每个 hash 可以存储 2^32 - 1 键值对(40多亿)。
   应用场景:对象的存储 ,表数据的映射  

6.bitmap位图类型

   特点:bitmap是进行位操作的
           通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身。
           bitmap本身会极大的节省储存空间。
  应用场景:1、用户每月签到,用户id为key , 日期作为偏移量 1表示签到
                  2、统计活跃用户, 日期为key,用户id为偏移量 1表示活跃
                  3、查询用户在线状态, 日期为key,用户id为偏移量 1表示在线

7.geo地理位置类型

   特点:geo是Redis用来处理位置信息的。在Redis3.2中正式使用。主要是利用了Z阶曲线、Base32编码和
           geohash算法
    Z阶曲线:在x轴和y轴上将十进制数转化为二进制数,采用x轴和y轴对应的二进制数依次交叉后得到一个六位数编
                   码。把数字从小到大依次连起来的曲线称为Z阶曲线,Z阶曲线是把多维转换成一维的一种方法。
   应用场景:1、记录地理位置
                   2、计算距离
                   3、查找"附近的人"

8.stream数据流类型

   特点:stream是Redis5.0后新增的数据结构,用于可持久化的消息队列。

         几乎满足了消息队列具备的全部内容,包括:

  • 消息ID的序列化生成
  • 消息遍历
  • 消息的阻塞和非阻塞读取
  • 消息的分组消费
  • 未完成消息的处理
  • 消息队列监控

每个Stream都有唯一的名称,它就是Redis的key,首次使用 xadd 指令追加消息时自动创建。

    应用场景:消息队列

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值