Redis使用总结-Redis中的数据类型
2021/4/8 19:30:22
本文主要是介绍Redis使用总结-Redis中的数据类型,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
String
- String是Redis基本数据类型,一个key对应一个String
- String 类型是二进制安全的。意思是 redis 的 string 任意格式的二进制数据。比如jpg图片或者序列化的对象
- String 类型的值最大能存储 512M
使用场景
- 热点数据缓存
- 利用redis的INCR、DECR等指令来实现原子计数的效果,用来实现业务上的统计计数需求。
- 分布式sessionkey系统。 redis可以很方便的设置sessionkey的自动过期时间,分布式系统的各个node可以统一的进行session的管理。
- 分布式锁。使用SETNX命令当不存在才添加,可以很好的来实现分布式锁。
Hash
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。通过命名很清楚的之后Hash这种数据类型时使用了哈希表作为底层实现,关于什么是哈希,什么是哈希表可以自行百度,后续有时间可以单独开一篇来详细分析Redis hash的实现。
使用场景
适合存储对象的场景
List
Redis List是简单的字符串列表,数据结构是双向链表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边),也就是兼有栈和队列的特性。因为是链表,所以查找的复杂度就是O(n)了,但是考虑到常用的指令都是在列头和列尾操作,所以这种数据结构才是最适合的。
使用场景
作为消息队列
Set
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
使用场景
- 需要去重情景下的列表,也可以利用命令Sismember 判断member是否在集合中。
- 需要对多个集合进行交集,差集,并集操作的时候,比如可以求出共同关注,共同喜爱之类的功能。
ZSet
Redis sorted set和Set一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
使用场景
- 排行榜
- 有序不重复的集合
- 可以将权重作为score来进行存储,按照权重来进行排序或者优先操作
这篇关于Redis使用总结-Redis中的数据类型的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-03-21redisinsight-v2
- 2024-02-26Typed property App\Api\Mapper\GamePropsConfigMapper::$apiRedis must not be accessed before initia-icode9专业技术文章分享
- 2024-02-21redisson getlock
- 2024-02-20redis config
- 2024-02-20redis leaderboard
- 2024-01-23缓存选型:Redis or MemCache
- 2024-01-22面试官:Redis持久化能关吗?怎么关?
- 2024-01-21Redis压测工具redis-benchmark-icode9专业技术文章分享
- 2024-01-19这才是你应该了解的Redis数据结构!
- 2024-01-18Redis系列:使用 Redis Module 扩展功能