memcached(十三)memcached内存占用分析

    最近又在研究memcached,如果想进一步研究如何使用分布式缓存,我们就需要知道具体的数据在内存中占用的情况。在启动memcached的时候,增加参数
-vv
控制太可以显示设置的细节。
例如:
./memcached -d -m 2m -p 11211  -c 1024 -f 1.25 -n 80 -t 16 -u root -vv


设置命令set
memcachedClient.set("abcd", 111, 65535); //key,超时时间,值
服务器命令行显示
set abcd 512 111 2   //key,额外信息(类似descrption),超时时间,字节数


设置命令namespace and set
memcachedClient.beginWithNamespace("1"); //命名空间
memcachedClient.set("key3", 111, 65535);
服务器命令行显示
set 1386335186060:key3 512 111 2
1)此命令,先会执行一个get命令,如果namespace不存在,则执行一个set命令,增加namespace,然后再执行set明令加入数据,相当于执行了3次命令
2)如果是第二次,则执行一次get命令,namespace存在,直接执行set命令
3)结论:
所以尽量不要使用接口memcachedClient.beginWithNamespace,严重影响性能。


设置命令namespace and delete
memcachedClient.beginWithNamespace("1"); //命名空间
memcachedClient.delete("key5");
服务器命令行显示
delete 1386336170626:key5
执行一次get命令,namespace存在,再直接执行delete命令
所以尽量不要使用接口memcachedClient.beginWithNamespace,严重影响性能。


其中字符串中,1个英文字符,占1个字节
数字中,255占1个字节,256占2个字节,65535占2个字节,65536占3个字节

猜你喜欢

转载自phl.iteye.com/blog/1986468