Memcached的一些特性
- Key的最大长度为250,超出的话在python-memcache下会抛出 Memcached Key Length Error错误,在cmemcache下会返回0表示存储失败。
- 最长过期时间为30天,即 60 * 60 * 24 * 30 = 2592000秒。超过这个时间 的话会被memcached当作unix timestamp存贮,并且在这个指定时间之后失效。 比方说设置为2592001,会被当作是1970-01-31 08:00:01存贮,当然立刻就 失效了,不过可以设置一个足够长的时间,但似乎没什么意义。
- 存储数据最大为1M。注意如果存储的内容超过1M,无论是python-memcache还 是cmemcache都不会报错,但是会返回0表示存储失败了。这里我们最大的教 训就是没有检查返回值是否成功,其实memcached并没有成功缓存,结果造成 服务器性能大幅度下降。
这三个限制应该说都是memcached特意的设计,在使用的时候应该注意不要忽略 了这些限制造成缓存失败(教训啊),更多的说明可以看memcached的FAQ1
此外,从1.2开始支持线程模式,在这个说明2里面指出可以使用-t参数指定线程 的数量,但是最好不要超过CPU的数量。
cmemcache:
http://code.google.com/p/memcached/wiki/FAQ#How_can_I_use_memcached_as_a_database?