我正在使用本地memcache服务器来存储值。如果我将Memcache定义为Cache的选定驱动程序,它可以正常工作。在config / cache.php中但是,如果我在laravel之外使用memcache,则使用Cache :: get()进行内存缓存访问的速度要比使用Cache :: get()的Laravel控制器快得多。
我需要在Memcache中存储大量数据,并且可以在整个系统中访问。所以我试图直接使用memcache但是我得到了以下错误。
[2016-08-23 14:11:19] local.ERROR:Symfony \ Component \ Debug \ Exception \ FatalThrowableError:Class' App \ Http \ Controllers \ Memcache'没找到....
我的代码如下:
"MethodsList"
只是要清楚 - memcache软件包已经安装并正常工作,因为我可以通过Cache工作:以及从Laravel外部安装直接访问memcache。 感谢我能得到的任何帮助。
答案 0 :(得分:0)
根据laravel cache docs,您需要在config/cache.php
中设置memcached配置,并指定要用作" memcached"的驱动程序。
然后,只需使用\Cache
,如下例所示。
// to get value
$value = \Cache::get('key');
// to set value
$minuts = 30;
\Cache::put('key', 'value', $minutes);
如果有多个缓存
,您还可以在代码上指定驱动程序$value = \Cache::store('memcached')->get('key');
答案 1 :(得分:0)
我能够找出在Laravel中访问内存缓存所需的必要更改。以下是现在为我顺利运作的代码。
use Memcached;
....
$memcache = new Memcached;
$memcache->addServer('localhost', 11211) or die ("Could not connect");
$res1 = $memcache->get('key1');
....
这肯定比使用memcache驱动程序的Cache :: get快!