redis优势
Redis是缓冲中间件,是C语言编写的基于内存的高速缓存数据库,key-value存储系统结构,包含丰富的数据类型,string,list,set,zset,hash
Redis中提供很多功能
- 缓存,事件发布或订阅,高速队列等场景
- 丰富数据结构用于直接存取
- 基于内存速度快
- 可持久化
五种基础数据结构
- String
- List
- Set
- Hash
- Zset
![[Pasted image 20240423102833.png]]
String
Redis中String是二进制安全的,可以存储任何数据: 数字,字符串,图片,序列化对象等
二进制安全: char[]
本质还是数组,只不过不是\0
结束,弄了个新数组数据结构
List
Redis中List是双向链表,可以用来当做stack,queue等
使用列表的技巧
- lpush+lpop=Stack(栈)
- lpush+rpop=Queue(队列)
- lpush+ltrim=Capped Collection(有限集合)
- lpush+brpop=Message Queue(消息队列)
Set集合
Redis中Set是String类型的无序集合,删除,查找,新增复杂度都是O(1)
Hash散列
Redis中Hash是一个String的字段key和value的映射表,适合用来存储对象
如果要嵌套对象存储: 将对象序列化(JSON等)
Zset有序集合
Redis中ZSet也是一个String类型的元素集合,不允许重复,但是每个元素有关联一个double类型的分数,Zset就是通过分数来给集合中成员进行从小到大的排序
有序集合成员唯一