Redis十大类型总体叙述

1.String(字符串)

  • String是Redis最基本的数据类型,也是最常用的数据类型
  • 一个键最大能存储512MB的数据
  • 可以存储字符串、整数、浮点数等
  • 支持对字符串的部分修改、自增自减等操作
  • String类型是二进制安全的,这意味着它可以包含任何数据,比如jpg图片或者序列化的对象。

2. Hash(哈希)

  • Hash是一个键值对集合,类似于Java中的HashMap
  • 在Redis中它是以k1 filed v1存储的
  • 每个Hash可以存储2^32-1个键值对
  • 适合存储对象,如用户信息等
  • 支持对单个字段的修改、删除等操作

3. List(列表)

  • List是一个简单的字符串列表,按照插入顺序排序
  • 可以在列表的头部或尾部添加元素
  • 最多可存储2^32-1个元素
  • 常用于消息队列、最新列表等场景

4. Set(集合)

  • Set是string类型的无序集合
  • 集合中的元素具有唯一性,不能出现重复的元素
  • 支持交集、并集、差集等操作
  • 常用于标签系统、随机抽奖等
  • 集合对象的编码可以是intset或者hashtable

5. Sorted Set(有序集合)

  • 与Set类似,但每个元素都关联了一个double类型的分数,根据分数对元素进行从小到大排序
  • 支持根据分数范围获取元素、计算元素的排名等
  • 常用于排行榜系统、延迟队列等

6. Bitmap(位图)

  • 通过特殊的命令,可以将String当作Bitmap来处理
  • 支持按位存取、计算Bitmap中1的个数等操作
  • 常用于统计用户在线状态、签到等场景

7. HyperLogLog

  • 用于统计基数(不重复元素个数)的数据结构
  • 只需要占用12KB内存,就可以统计2^64个不同元素
  • HyperLogLog只会通过输入元素来计算基数,而不会存储元素本身,所以不能像集合那样返回元素本身。
  • 有0.81%的误差,但对于统计等场景已经够用

8. GEO(地理位置)

  • 可以存储地理位置信息(经度、纬度)
  • 支持计算两个位置的距离、查找指定范围内的位置等
  • 常用于打车,地图等应用,如附近的人、餐厅等

9. Stream(流)

  • 一种新的数据类型,5.0版本新增
  • 支持多个消费者消费同一个Stream、可以自动维护消费进度
  • 可以看作是一个增强版的List,适用于消息队列场景

10. Bitfield(位域)

  • 实际上是String类型的一个面向bit操作的API
  • 可以直接对String的bit进行访问和修改
  • 适合存储状态信息、标记等场景,如用户在线状态、文章点赞等
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值