在使用Phalcon时遇到的memcached问题

在尝试将Memcached与Phalcon结合使用时,我遇到了问题。

由于重视速度,选择了Phalcon,所以在解决以前使用文件缓存的部分时,遇到了使用Memcached的困境。

我想使用memcached而不是memcache。

$FrontCache = new Phalcon\Cache\Frontend\Data(array(
    "lifetime" => 1728000
));

$cache = new \Phalcon\Cache\Backend\Memcache($FrontCache, array(
    'host' => 'localhost',
    'port' => 11211,
    'persistent' => false
));

$cache = $cache->get('my-cache');

if( NULL === $cache ){
    $data = array('a','b','c');
    $cache->save('my-cache',$data);
}

在此进行操作时,将显示以下错误:
无法将数据存储在memcached中,错误代码:47

通过谷歌搜索,找到了这篇文章…
在Phalcon中,无法永远使用Memcache类。

然而,当我再次查看Phalcon的手册时,我却认为这不可能是那样的。

Phalcon文档中,有关在后端使用memcached的方法有详细介绍。
总的来说,就是推荐使用Libmemcached而不是Memcache。

$cache = new \Phalcon\Cache\Backend\Libmemcached($FrontCache, array(
    'host' => 'localhost',
    'port' => 11211,
    'persistent' => false
));

通过这样做解决问题。
由于使用phalcon-devtools进行类补全,所以发现没有安装Memcached时感到惊讶,但并无大碍。然而,我意识到缺乏命名规范会导致陷入这样简单的问题中。
我再次意识到,必须对核心程序非常注意,通过查看他人的代码加以改进。

bannerAds