正文
redis中sds,redis中sds的扩容
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
redis的基本数据结构有哪些,都有什么应用?
Stream作为Redis 0新增的专为消息队列设计的数据结构,提供了持久化、唯一ID和确认模式等功能,支持XADD、XREAD等操作,实现消息队列的有序和可靠性。选择使用Redis作为队列,需要权衡业务对数据丢失和消息堆积的容忍度。
String 字符串 字符串类型是 Redis 最基础的数据结构,首先键都是字符串类型,而且 其他几种数据结构都是在字符串类型基础上构建的,我们常使用的 set key value 命令就是字符串。
应用场景:消息队列,关注列表,粉丝列表等都可以用Redis的list结构来实现。描述: set是string类型的无序集合。集合是通过hashtable实现的,概念和数学中个的集合基本类似,可以交集,并集,差集等等,set中的元素是没有顺序的。
常见应用场景 hash是一个map结构,可以像存储对象的多个字段一样存储一个key的多类数据。
String字符串是最常用的数据类型,他能够存储任何类型的字符串,当然也包括二进制、JSON化的对象、甚至是base64编码之后的图片。在Redis中一个字符串最大的容量为512MB,可以说是无所不能了。
Redis中值的数据结构有String(字符串)、List(列表)、Hash(哈希)、Set(集合)和 Sorted Set(有序集合)五种,使用可参考 https:// 。
Redis的各数据类型的内存占用
1、对象内存(推荐学习:Redis视频教程)对象内存是Redis内存占用最大的一块,存储着用户所有的数据。Redis所有数据都采用key-value数据类型,每次创建键值对时,至少创建两个类型对象:key对象和value对象。
2、原因如下:json数据本身通常比纯文本数据占用更多的存储空间,因为它包含了更多的元数据和结构信息。redis存储的所有数据都是存在内存中的,包括json数据,因此如果大量存储json数据会占用较多的内存。
3、可以忽略。而内存占用,zipList比hashTable降低极多。
4、RDB 是将内存中的数据定期保存到磁盘上,而 AOF 是将每个写操作追加到一个文件中。当内存被占满时,可以重启 Redis,并加载 RDB 或 AOF 文件来恢复数据。这种方法适用于需要保留数据的情况。 优化程序代码。
5、score为从0到100W的int值,member为16的string。100W条记录的占用内存大概在110M。
Redis底层数据结构之string
Redis 中的字符串称之为 Simple Dynamic String ,简称为 SDS 。
Hash则是键值对的集合,适用于存储对象,与String相比,它支持更复杂的数据结构。Redis 0后,Hash的底层实现使用listpack,提供了HSET、HGET等操作,比如在购物车场景中,用户信息和商品关联可以通过哈希表轻松管理。
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
Redis的hash类型其实就是一个缩减版的redis。它存储的是键值对,将多个键值对存储到一个redis键里面。hash类型的底层主要也是基于字典这种数据结构来实现的。
如下:string string 是 redis 最基本的类型,你可以理解成与 Memcached 一模一样的类型,一个 key 对应一个 value。string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。
redis中sds的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于redis中sds的扩容、redis中sds的信息别忘了在本站进行查找喔。