Redis笔记
一、常用命令
登录
redis-cli
auth password
二、数据类型
string
String的数据结构为简单动态字符串(Simple Dynamic String,缩写SDS)。是可以修改的字符串,内部结构上类似于Java的ArrayList,采用分配冗余空间的方式来减少内存的频繁分配。
- 动态大小:SDS 可以根据存储的字符串长度自动扩展或缩小其内部缓冲区的大小,以减少内存的浪费。
- O(1) 复杂度的长度查找:SDS 维护了字符串的长度信息,因此你可以在 O(1) 时间内查找字符串的长度,而不需要遍历整个字符串。
- 二进制安全:SDS 不仅可以存储文本字符串,还可以存储二进制数据,因为它不依赖于字符串的空终止符。这使得 Redis 可以存储和处理各种数据类型。
- 常数时间尾部操作:SDS 支持在字符串的尾部进行添加字符、删除字符、追加其他字符串等操作,这些操作通常具有常数时间的复杂度。
- 惰性空间释放:SDS 通过惰性释放的方式回收不再需要的内存,而不是立即释放。
list
https://baijiahao.baidu.com/s?id=1763496410158464261&wfr=spider&for=pc
- 快速插入和删除操作:与传统链表相比,
quickList
具有更好的性能,尤其是在两端进行插入和删除操作。 - 分段存储:
quickList
将列表划分为多个小的链表块(segments),每个块都包含一些元素。这种分段的方式允许高效地扩展和收缩列表。 - 节省内存:
quickList
在一些场景下可以节省内存,因为它可以更紧凑地存储元素,而不会像传统链表那样浪费大量内存用于指针和元数据。 - 支持压缩列表:每个
quickList
块可以选择使用压缩列表(ziplist)来存储元素,以减小内存占用。 - 支持多个元素类型:一个
quickList
可以容纳不同类型的元素,这意味着可以存储字符串、整数等各种数据类型。
set
zset
三、数据结构
跳跃表
标签:存储,SDS,Redis,quickList,内存,字符串 From: https://www.cnblogs.com/myDong/p/17879424.html