Redis 虽然提供了多种数据类型,但是实际使用时都可以用 String 来做通过 Java 代码的序列化成 JSON 字符串存入 Redis。
数据类型
- String :可以实现像计数器,分布式 ID,分布式锁,等业务场景
- 常用的命令: set、get 等
- 是一种最常用的数据类型,普通的 keyValue 数据都可以用 string 来存储
- String 类型在 Redis 中就是用 C 构建的一个字符串
- Hash: 适合存储对象,KV 结构
- 常用命令:hget、hset、hgetall 等
- List: 有序可重复,是一个列表
- Set:无序不可重复
- ZSet: 可以实现排行榜
- String :可以实现像计数器,分布式 ID,分布式锁,等业务场景
String
Redis 字符串是最基本的 Redis 数据类型,表示字节序列。
List
Redis 列表是按插入顺序排序的字符串列表。
Set
唯一字符串的无序集合,其作用类似于您最喜欢的编程语言中的集。 使用 Redis 集合,您可以在 O(1) 时间内添加、删除和测试是否存在(换句话说,无论集合元素的数量有多少)。
Hash
字段值对集合的记录类型。因此 Redis 哈希类似于 Java 中的 HashMap
ZSet (SortedSet)
唯一字符串的集合,它们通过每个字符串的关联分数来维护顺序
底层是通过跳表来实现的,跳表的实现原理 参考《数据结构》中 跳表章节 。
Stream
类似于仅附加日志。流有助于按事件发生的顺序记录事件,然后将它们联合起来进行处理。
Geo (Geospatial Index)
对于查找给定地理半径或边界框内的位置非常有用。
BitMap
对字符串执行按位运算。
BitFields
对字符串值中的多个计数器进行编码。位域提供原子获取、设置和增量操作,并支持不同的溢出策略。
HyperLogLog
提供大型集合的基数(即元素数量)的概率估计
Extension
支持自定义,通过 Lua 脚本、或者使用模块 API