redis小记

本文介绍了Redis中的五种数据类型:字符串、哈希、列表、集合和有序集合的内部实现,包括各自的优化结构如ziplist和hashtable。同时,文章还探讨了Redis的redisObject结构和SDS数据结构,以及其弱事务机制,强调了Redis事务的一次性、顺序性和排他性特点。
摘要由CSDN通过智能技术生成

redis采用 redisObjec 结构来统一五种不同的数据类型
五种数据类型:
1、字符串(String): 根据存储的值不同,底层由三种内部实现。
1.1:int:当存储的为数字时8个字节的long
1.2:embstr:当存储的字符串小于等于44个字节时
1.3:raw:当存储的字符串大于44个字节时
2、哈希(hash):存储的结构分为两种
2.1:ziplist(压缩列表)当哈希类型元素个数小于hash-max-ziplist-entries 配置(默认512个)、同时所有值都小于hash-max-ziplist-value配置(默认64 字节)时,ziplist使用更加紧凑的 结构实现多个元素的连续存储,所以在节省内存方面比hashtable更加优秀
2.2:hashtable当元素个数大于hash-max-ziplist-entries 配置(默认512个),或者值小于hash-max-ziplist-value配置(默认64 字节)时
3、列表(list)有两种内部实现
3.1:ziplist当列表的元素个数小于list-max-ziplist-entries配置 (默认512个),同时列表中每个元素的值都小于list-max-ziplist-value配置时 (默认64字节),Redis会选用ziplist来作为列表的内部实现来减少内存的使用
3.2:linkedlist当列表满足不了ziplist时使用(quicklist ziplist和linkedlist的结合以ziplist为节点的链表(linkedlist))
4、集合(set):有两种内部实现
4.1:intset当集合中的元素都是整数且元素个数小于se

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值