【Redis】五种基本数据类型!三种特殊类型!

五种基本数据类型

String

  1. string 数据结构是简单的 key-value 类型。
  2. 常⽤命令: set,get,strlen,exists,dect,incr,setex 等等。
  3. 应⽤场景 :⼀般常⽤在需要计数的场景,⽐如⽤户的访问次数、热点⽂章的点赞转发数量等等。

list

  1. Redis 的 list 的实现为⼀个 双向链表,即可以⽀持反向查找和遍历,更⽅便操作
  2. 常⽤命令: rpush,lpop,lpush,rpop,lrange,llen 等。
  3. 应⽤场景: 发布与订阅或者说消息队列、慢查询。

hash

  1. hash 类似于 JDK1.8 前的 HashMap,内部实现也差不多(数组 + 链表)。
  2. <key,<key,value>>特别适合⽤于存储对象,
  3. 常⽤命令: hset,hmset,hexists,hget,hgetall,hkeys,hvals 等。
  4. 应⽤场景: 系统中对象数据的存储。

set

  1. Redis 中的 set 类型是⼀种⽆序集合,集合中的元素没有先后顺序。当你需要存储⼀个列表数据,⼜不希望出现重复数据时,set 是⼀个很好的选择
  2. 可以基于 set 轻易实现交集、并集、差集的操作。
  3. 常⽤命令: sadd,spop,smembers,sismember,scard,sinterstore,sunion 等。
  4. 应⽤场景: 需要存放的数据不能重复以及需要获取多个数据源交集和并集等场景

zset (sorted set)

  1. 和 set 相⽐,sorted set 增加了⼀个权重参数 score,使得集合中的元素能够按 score进⾏有序排列,还可以通过 score 的范围来获取元素的列表。
  2. 常⽤命令: zadd,zcard,zscore,zrange,zrevrange,zrem 等。
  3. 应⽤场景: 需要对数据根据某个权重进⾏排序的场景。⽐如在直播系统中,实时排⾏信息包含直播间在线⽤户列表,各种礼物排⾏榜,弹幕消息(可以理解为按消息维度的消息排⾏榜)等信息。

三种特殊类型

geospatial

  1. 这个功能可以将用户给定的地理位置信息储存起来, 并对这些信息进行操作

  2. GEO 的数据结构总共有六个命令:geoadd、geopos、geodist、georadius、georadiusbymember、geohash

Hyperloglog

  1. Hyperloglog基数统计的算法。不过会有些许误差,如果允许容错,使用Hyperloglog,不允许容错的话使用set
  2. 基数=不重复元素的个数

Bitmap

  1. Bitmap就是通过一个bit位来表示某个元素对应的值或者状态。Bitmaps位图,只有0和1两个状态位存储。
  2. 可以用来统计用户信息,登陆,未登录;打卡。
  3. 用bitmap来记录周一到周日的打卡
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值