增加Memcached中项的最大大小?

14

我正在使用CentOS服务器上的Memcached,我的项目很大,有超过1MB大小的对象需要保存到Memcached中,但是,我无法这样做!因为max_item_size的限制是1MB,是否有任何方法可以编辑?

谢谢


可能是Cache over 1mb memcache alternatives的重复问题。 - Baba
请查看如何在Ruby on Rails中完成此操作:https://dev59.com/Npffa4cB1Zd3GeqP5UOU#37485215 - Zack Xu
有时候,memcached客户端会设置自己的最大大小限制。例如,在Python的memcached中,除了-I 15m之外,可能还需要这样做:import memcache; client=memcache.Client([('localhost',11211)], server_max_value_length=15 * 1024 * 1024) - Roman Susi
这里有一个关于同样问题的答案 - https://dev59.com/iXM_5IYBdhLWcg3wSBEU - ns15
4个回答

21

您可以通过编辑配置文件[/etc/memcached.conf]并添加以下内容来快速更改限制:

# Increase limit 
-I 128M

如果您在使用SO配置时遇到问题,可以直接通过命令行运行。

memcached -I 128M

在配置memcached SessionManager时,是否有办法在Tomcat context.xml中配置这个大小? - Anshu

5

3
你可以编译memcached并更改内存分配设置以使用POWER_BLOCK,在slabs.c文件中(或者您可以重新编译并使用malloc/free,但那是两害相权取其轻的选择)。
为什么memcached的项目限制为1MB大小?请参考http://code.google.com/p/memcached/wiki/FAQ#Why_are_items_limited_to_1_megabyte_in_size
我会认真考虑你要缓存的内容以及如何使其更加模块化,超过1MB的活动内存太大了。

我只需要使用5个2MB的块,谢谢 :) - Rami Dabain
6
从memcache 1.4.2版本开始,这现在是一个可配置的启动参数。请参阅"http://code.google.com/p/memcached/wiki/ReleaseNotes142"中的“可配置的最大项大小”。 - nsanders
1
原链接已过时。 - Islam Azab

1

我花了很多时间才弄清楚这个问题: 在/etc/sysconfig/memcached中编辑选项。

OPTIONS="-l 127.0.0.1 -I 3m"

然后执行systemctl restart memcached使其生效。

建议使用选项-l 127.0.0.1,这样只能在本地使用,-I 3m可以增加限制,如上所述。

在Centos 7中,我无法使用这些路径/etc/memcached.conf /etc/default/memcached


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接