redis中的对象

五种对象

对象总共有五种,可以用type 命令查看数据库键对应的值对象的类型。
在这里插入图片描述
不同类型可能对应不同的编码格式,可以使用 object encoding key 来查看。
embstr编码的字符串对象是只读的。如果要修改,会先转换编码为 raw,然后修改。同时,对象就变成了 raw 类型的。
在这里插入图片描述

字符串对象

在这里插入图片描述
可以使用 append 命令,将非 raw 类型的对象转化为 raw类型。
在这里插入图片描述
在这里插入图片描述

列表对象

列表对象的编码可以是 ziplist 或者 linkedlist。
在这里插入图片描述
在这里插入图片描述

哈希对象

哈西对象的编码可以是 ziplist 或者hashtable。
在这里插入图片描述
在这里插入图片描述

集合对象

集合对象的编码可以是 intset 或者 hashtable。
在这里插入图片描述
在这里插入图片描述

有序集合对象

有序集合对象的编码可以是 ziplist 或者 skiplist。
在这里插入图片描述
在这里插入图片描述

内存回收

C 语言并不存在自动内存回收功能,Redis 实现了一个基于引用计数的内存回收机制。
redis 对象有一个属性 lru,记录了对象最后一次被访问的时间。可以使用object idletime key 来查看给定键的空转时长(根据 lru 计算得到)。当内存超过了 maxmemory,空转时长较高的对象会优先被回收。

对象共享

redis会共享值为 0 到 9999 的字符串对象。

重点回顾

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值