我在我的网站上使用Codeigniter。我已经尝试设置memcached来缓存来自数据库的对象,当它运行时我看到了这样的警告:
错误 - 2016-01-12 00:28:40 - >严重性:警告 - > Memcached :: get():无法读取长值,太大/var/www/CodeigniterProject/system/libraries/Cache/drivers/Cache_memcached.php 149
我该如何解决这个问题?
答案 0 :(得分:5)
我发现当使用Memcache扩展程序保存值然后使用Memcached扩展程序检索时会发生这种情况 - 这两者中使用的序列化之间存在不兼容性。刷新内存缓存服务器应解决问题。
答案 1 :(得分:0)
我们遇到了同样的问题。要解决它,我们已经将包从php5-memcached更改为php5-memcache。它解决了我们的问题。
答案 2 :(得分:0)
您可以尝试通过以下方式更改Memcached序列化程序:
$m->setOption(Memcached::OPT_SERIALIZER, Memcached::SERIALIZER_PHP);
(其中$ m是Memcached实例)。