Redis
文章平均质量分 89
od_FLY
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
RedisObject
对象和编码 Redis并没有直接采用底层数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象系统,这个系统包含字符串对象、列表对象、哈希对象、集合对象、有序集合对象这五种不同类型的对象。 Redis在执行命令之前首先会根据对象的类型来判断一个对象是否可以执行给定的命令。然后再根据编码类型选择具体的底层实现。 适用对象的好处是:可以针对不同的适用场景,为对象设置不同的数据结构底层实现,以优化对象在不同场景下的使用效率 对象的类型与编码 Redis使用Redis的对象RedisObject来表示数据原创 2022-03-21 21:07:30 · 203 阅读 · 0 评论 -
Redis3.0底层数据结构
底层数据结构 简单动态字符串 SDS的定义 len:SDS的总长度 alloc:已分配的长度 buf:存放实际的字符串(末尾要加一位的结束符) SDS与C字符串的区别 SDS封装了C字符串,用空间换效率,满足了Redis要求的安全性、效率性以及功能方面的要求 1.常数复杂度获得字符串长度 通过len属性直接获取字符串的长度,len长度在SDS的API执行时自动修改 2.避免缓冲区溢出 SDS的空间分配策略杜绝了发生缓冲区溢出的可能性 当需要对SDS进行修改时,会先检查SDS的空间是否满足修改所需的大小原创 2022-03-21 18:00:21 · 1044 阅读 · 0 评论
分享