引言
本次对上一次的数据结构常识进行补充,次要有redis数据结构的相干利用场景和内存相干常识
<!-- more-->
援用计数-内存
redis中的对象回收机制是采纳援用计数的形式,首先咱们能够通过redis对象构造体代码可知
/* * Redis 对象 */typedef struct redisObject { ... // 援用计数 int refcount; ...} robj;
下面表格是和援用计数字段相干的api
援用计数-共享
咱们晓得援用计数能够实现对象内存什么时候销毁,那么援用计数也能够用来对象共享
比方此时有一个对象A,值为10,新建了一个对象B,值和类型都与A一样,则能够让他们指向同一个地址,而后援用计数+1
留神:redis初始化时候,会主动创立10000个字符串对象,包含0-9999这10000个整数,当服务器要用到这些数字的字符串对象时候,redis就不须要从新创立。(能够批改redis.h/REDIS_SHARED_INTEGERS
进行批改)
redis> set A 100
OKredis> OBJECT REFCOUNT A
(integer) 2
利用场景
redis因为有多种数据结构,每种数据结构都有着不同的api和对应的工夫复杂度,因而在理论工作或者我的项目开发中,应该面对不同场景抉择不同的redis数据结构,因为本人在字节工作,会经常应用redis,上面依据本人平时的一些总结进行论述,这个局部会继续更新
本人的网址:www.shicoder.top
欢送加群聊天 452380935
本文由博客一文多发平台 OpenWrite 公布!