memcached的key,value,过期时间的限制

Posted leezhxing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了memcached的key,value,过期时间的限制相关的知识,希望对你有一定的参考价值。

1.   key值最大长度?

memcached的key的最大长度是250个字符,是memcached服务端的限制。

如果您使用的客户端支持"key的前缀"或类似特性,那么key(前缀+原始key)的最大长度是可以超过250个字符的。

我们推荐使用使用较短的key,因为可以节省内存和带宽。key只要不重复就行,如果太大浪费内存。

修改key大小:

修改memcached源文件。在memcached.h中定义key的长度,其代码为:

#define KEY_MAX_LENGTH 250

 

2.key 不能有空格和控制字符

the key must not include control characters or whitespace.

 

3.对item的过期时间限制?

过期时间最大30

如果不注意这个细节,过期时间设置大于了30天,值会设置不进缓存

 

4.最大能存储多大的单个item?

1MB,因为这是典型slab 的最大值

如果你的数据大于1MB,可以考虑在客户端压缩或拆分到多个key中。

可以通过-l选项修改:

-l            Override the size of each slab page. Adjusts max item size。(default: 1mb, min: 1k, max: 128m)

要增加的话,启动时添加-I 10m参数就可以。

会有一个警告:

WARNING: Setting item max size above 1MB is not recommended!
 Raising this limit increases the minimum memory requirements
 and will decrease your memory efficiency.

以上是关于memcached的key,value,过期时间的限制的主要内容,如果未能解决你的问题,请参考以下文章

PHP可以拿到memcache中的key的过期时间吗?

redis 下key的过期时间详解 :expire

Memcached函数整理

Memcached delete 命令

memcached 能接受的 key 的最大长度是多少?

redis 下key的过期时间详解 :expire