Redis对象

2021/10/18 2:13:53

本文主要是介绍Redis对象,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

Redis系列博客为对黄健宏老师《Redis设计与实现》一书内容的整理

第八章 对象

Redis基于数据结构创建了一个对象系统,这个系统包含字符串对象、列表对象、哈希对象、集合对象和有序集合对象这五种类型的对象,每种对象都至少使用了一种前面提到的数据结构。

使用对象的一个好处是:我们可以针对不同的使用场景为对象设置多种不同的数据结构实现,从而优化对象在不同场景下的使用效率。

除此之外,Redis的对象系统还实现了基于引用计数计数的内存回收机制。当程序不再使用某个对象的时候,这个对象所占用的内存就会被自动释放;另外,Redis还通过引用计数计数实现了对象共享机制,这一机制可以在适当的条件下,通过让多个数据库键共享同一个对象来节约内存。

最后,Redis的对象带有访问时间记录信息,该信息可以用于计算数据库键的空转时长

对象的类型和编码

Redis中的每个对象都由一个redisObject结构来表示,该结构中和保存数据有关的三个属性分别是type属性、encoding属性和ptr属性。

类型

对于Redis数据库保存的键值对来说,键总是一个字符串对象,而值可以是字符串对象、列表对象、哈希对象、集合对象或者有序集合对象的其中一种。

编码和底层实现



这篇关于Redis对象的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程