我刚将/((\d)+)$/
驱动程序附加到Laravel redis
。
配置:
cache
一个基本的:
'redis' => [
'driver' => 'redis',
'client' => 'predis',
'cluster' => false,
'default' => [
'host' => env('REDIS_HOST', 'localhost'),
'password' => env('REDIS_PASSWORD', null),
'port' => env('REDIS_PORT', 6379),
'database' => 0,
'read_write_timeout' => 60,
],
返回一个空字符串。 如果我这样做:
Cache::store('redis')->put('bar', 'baz', 10);
$val = Cache::get('bar');
Log::Debug($val);`
它返回' baz'。但是如果我删除 Cache::put('bar', 'baz', 10);
$val = Cache::get('bar');
Log::Debug($val);
方法,则在下次尝试时它将再次返回空字符串。
CLI监视器:
put
哪里弄错了?
答案 0 :(得分:1)
看起来您的默认驱动程序不是redis
。出于这个原因,当您拨打put()
或get()
而未指定您从默认商店购买的store()
时。
有两种方法可以解决这个问题。
或者,将redis
设为您的默认商店(请参阅config/cache.php
)。然后这个:
Cache::put('bar', 'baz', 10);
$val = Cache::get('bar');
Log::Debug($val);
只会工作,您将访问redis
商店。
或者,在您的推杆和获取时指定商店:
Cache::store('redis')->put('bar', 'baz', 10);
$val = Cache::store('redis')->get('bar');
Log::Debug($val);
答案 1 :(得分:0)
在CACHE_DRIVER
中找到.env
,然后对其进行编辑:
CACHE_DRIVER=redis //the default is file