Redis如何选择数据结构

Redis 常用的数据结构一共有五种:string、hash、list、set、zset(sorted set)。

大多数场景下使用 string 都可以去解决问题。但是,这并不一定是最优的选择。

下面,简单说明下它们各自的适用场景:

  • string:单个的缓存结果,不与其他的 KV 之间有联系
  • hash:一个 Object 包含有很多属性,且这些属性都需要单独存储。注意:这种情况不要使用 string,因为 string 会占据更多的内存
  • list:一个 Object 包含很多数据,且这些数据允许重复、要求有顺序性
  • set:一个 Object 包含很多数据,不要求数据有顺序,但是不允许重复
  • zset:一个 Object 包含很多数据,且这些数据自身还包含一个权重值,可以利用这个权重值来排序

另外Redis还提供了几种的扩展类型,如下:

  • HyperLogLog:适合用于基数统计,比如PV,UV的统计,存在误差问题,不适合精确统计。
  • BitMap:适合二值状态的统计,比如签到打卡,要么打卡,要么未打卡等。
相关推荐
ICollection3 分钟前
银河麒麟下Redis的安装和集群配置
redis·集群·银河麒麟·国防版
坚持编程的菜鸟29 分钟前
LeetCode每日一题——重复的子字符串
数据结构·算法·leetcode
一條狗39 分钟前
学习日报 20250929|缓存击穿及其解决方案
redis·缓存
hong_zc1 小时前
redis事务
redis
麦兜*1 小时前
Redis高可用架构设计:主从复制、哨兵、Cluster集群模式深度对比
java·数据库·spring boot·redis·spring·spring cloud·缓存
王嘉俊9251 小时前
Redis 入门:高效缓存与数据存储的利器
java·数据库·redis·后端·spring·缓存·springboot
June`4 小时前
Redis核心应用:从单机到分布式架构解析
数据库·redis·缓存
会挠头但不秃4 小时前
Redis数据结构和常用命令
数据库·redis·缓存
williamdsy5 小时前
【MoonBit初探】:从一个“陷阱”到深入理解数据结构*
数据结构·map·moonbit
庸人自扰616 小时前
Redis从零讲解
数据库·redis·缓存