redis数据结构

本文详细介绍了Redis,一种基于内存的高速缓存数据库,探讨了其数据结构如String、List、Set、Hash和Zset的应用,以及发布/订阅模式、Stream消息队列和时间回拨问题的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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就是通过分数来给集合中成员进行从小到大的排序

有序集合成员唯一

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值