ITKeyword,专注技术干货聚合推荐

注册 | 登录

redis内存预分配策略

beijing20120926 2013-11-15

相关推荐:Java千百问_07JVM架构(003)_内存分配有哪些策略

点击进入_更多_Java千百问1、内存分配有哪些策略我们从编译原理讲起,不同的开发环境、开发语言都会有不同的策略。一般来说,程序运行时有三种

sds.c/sdsMakeRoomFor 函数描述了sdshdr 的这种内存预分配优化策略,以下是这个函数的伪代码版本:def sdsMakeRoomFor(sdshdr, required_len):

# 预分配空间足够,无须再进行空间分配

if (sdshdr.free >= required_len):

return sdshdr

# 计算新字符串的总长度

newlen = sdshdr.len + required_len

# 如果新字符串的总长度小于 SDS_MAX_PREALLOC

# 那么为字符串分配 2

相关推荐:Memcache内存分配策略

转自:http://tank.blogs.tkiicpp.com/2010/12/14/memcache%e5%86%85%e5%ad%98%e5%88%86%e9%85%8d%e7%ad%96%e7%95%a5/一、Memcache内存分配机制

倍于所需长度的空间

# 否则就分配所需长度加上 SDS_MAX_PREALLOC 数量的空间

if newlen < SDS_MAX_PREALLOC:

newlen *= 2

else:

newlen += SDS_MAX_PREALLOC

# 分配内存

newsh = zrelloc(sdshdr, sizeof(struct sdshdr)+newlen+1)

# 更新 free 属性

newsh.free = newlen - sdshdr.len

# 返回

return newsh

相关推荐:Redis:八、主从复制和虚拟内存

redis主从复制配置和使用都非常简单。通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。下面是关于redis主从复制的一些特

sds.c/sdsMakeRoomFor 函数描述了sdshdr 的这种内存预分配优化策略,以下是这个函数的伪代码版本:def sdsMakeRoomFor(sdshdr, required_len): # 预分配空间足够,无须再进行空间...

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。