laravel当配置redis为缓存时查看缓存的剩余时间
Laravel版本9.12
Laravel的缓存配置文件config/cache.php
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache')
Laravel的数据库配置文件config/database.php
'redis' => [
'client' => env('REDIS_CLIENT', 'phpredis'),
'options' => [
'cluster' => env('REDIS_CLUSTER', 'redis'),
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_') . '_database_'),
],
]
Laravel 缓存key的生成规则为config('database.redis.options.prefix').config('cache.prefix').'_cache:key'
当应用env的APP_NAME为app时,执行Cache::put('test',1,6000)命令,会在redis中生成一个app_databse_app_cache:test的键,值为1,ttl为6000
查看命令
use Illuminate\Support\Facades\Redis;
Redis::connection('cache')->ttl(config('cache.prefix').':'.$keyname)
如果用了tags方法,laravel会生成一个临时key,临时key的值是真实键值对的键
Cache::tags('test1')->put('test',1,6000)
//先拿到临时key
$tempKey = Redis::connection('cache')->get(config('cache.prefix').':tag:'.$tagName.':key');
//反序列化
$tempKeyStr = unserialize($tempKey)
Redis::connection('cache')->ttl(config('cache.prefix').':'.sha1($tempKeyStr).':'.$keyname)