深入了解一下Redis的内存模型!
发布时间:2019-03-17 06:46:40 所属栏目:编程 来源:编程迷思
导读:一、媒介 Redis是今朝最火爆的内存数据库之一,通过在内存中读写数据,大大进步了读写速率,可以说Redis是实现网站高并发不行或缺的一部门。 我们行使Redis时,会打仗Redis的5种工具范例(字符串、哈希、列表、荟萃、有序荟萃),富厚的范例是Redis相对付M
就今朝的实现来说,Redis处事器在初始化时,会建设10000个字符串工具,值别离是0~9999的整数值;当Redis必要行使值为0~9999的字符串工具时,可以直接行使这些共享工具。10000这个数字可以通过调解参数REDIS_SHARED_INTEGERS(4.0中是OBJ_SHARED_INTEGERS)的值举办改变。 共享工具的引用次数可以通过object refcount呼吁查察,如下图所示。呼吁执行的功效页佐证了只有0~9999之间的整数会作为共享工具。 (3.5)ptr ptr指针指向详细的数据,如前面的例子中,set hello world,ptr指向包括字符串world的SDS。 (3.6)总结 综上所述,redisObject的布局与工具范例、编码、内存接纳、共享工具都有相关;一个redisObject工具的巨细为16字节: 4bit+4bit+24bit+4Byte+8Byte=16Byte。 4、SDS Redis没有直接行使C字符串(即以空字符’ |