memcached使用的几个限制 – C++ 技术中心 – C++博客

memcached使用的几个限制 -    C++ 技术中心 - C++博客

有关memcached使用的几个限制

memcached自身有几个比较重要的限制,尤其是其中的过期时间限制,得小心,否则很容易踩到地雷:
1)单个缓存值大小限制:
memcached单个缓存值限制为1M(1000000bytes),超过这个限制的时候会出如下错误:
ValueError: Values may not be more than 1000000 bytes in length; received 2000000 bytes
2)key长度限制:
memcache的keys限制为250 bytes,超过这个长度会报错:
ValueError: Keys may not be more than 250 bytes in length, received 14670 bytes
3)expire过期时间限制:
过期时间设置有两种方式:
1、可使用 unix 时间戳格式,即距离1970.01.01 00:00:00的时间偏移量(单位为秒)
2、距离当前时间的时间间隔 (单位也为秒)
设为 距离当前时间的时间间隔 时不能大于 2592000(30天),如果时间值大于2592000 ,那么memcached会把时间理解为unix时间戳格式也就是距离1970.01.01的秒数偏移量。0 为永不过期。
这个问题要特别注意,当我们设置的时间间隔大于 2592000 ,例如2592010,写进去的数据会被认为是unix时间戳格式,数据刚写进去已经过期,相当于导致数据写不进去,而更糟糕的是对于这种情况memcached服务端和客户端驱动都不会抛出exception或者打印任何警告信息,因为对memcached来说这样的时间值也是合理的。
P.S. 该expire的限制某似是从memcached 1.2.6以后才有体现,之前的版本如1.2.1中没有观察到这种现象。

原文链接: https://www.cnblogs.com/lexus/archive/2013/01/24/2875849.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    memcached使用的几个限制 - C++ 技术中心 - C++博客

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/76593

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午5:34
下一篇 2023年2月9日 下午5:35

相关推荐