欢迎投稿

今日深度:

教你如何估算redis使用的内存,估算redis使用内存

教你如何估算redis使用的内存,估算redis使用内存


我的redis是4.0版本的


首先是一个空的redis的在机器中的内存使用情况,这个根据机器不同而定


在这里我们设置一个值

set name xiaoming

name的长度为4,xiaoming长度为8

每个dictEntry占据的空间包括:

  1. 一个dictEntry,24字节,jemalloc会分配32字节的内存块

  2. 一个key,4字节,所以SDS(key)需要4+9=13个字节,jemalloc会分配16字节的内存块

  3. 一个redisObject,16字节,jemalloc会分配16字节的内存块

  4. 一个value,8字节,所以SDS(value)需要8+9=17个字节,jemalloc会分配32字节的内存块

  5. 综上,一个dictEntry需要32+32+16+32=112个字节。


bucket空间:bucket数组的大小为大于1的最小的2^n,是2;每个bucket元素为8字节(因为64位系统中指针大小为8字节)。


因此,可以估算出这90000个键值对占据的内存大小为:112 + 16 = 128。

我们来查看结果



答案是112,这里是一个设置一个值的结果答案还不是很准确,明天继续测试,大量值的结果

www.htsjk.Com true http://www.htsjk.com/redis/35955.html NewsArticle 教你如何估算redis使用的内存,估算redis使用内存 我的redis是4.0版本的 首先是一个空的redis的在机器中的内存使用情况,这个根据机器不同而定 在这里我们设置一个值 set name xiaoming nam...
相关文章
    暂无相关文章
评论暂时关闭