Laravel+DDEV+Redis环境下Cache Facade缓存位置及CLI不可见问题求助
Laravel Cache::put 在Redis中的存储位置及查看方法
当你将Laravel缓存驱动设置为Redis时,Cache::put存储的数据并非直接以独立Redis键的形式存在,而是做了特定处理:
键前缀与哈希结构:Laravel默认会把所有Cache Facade的缓存数据存入一个以
config/cache.php中prefix配置值命名的Redis哈希(Hash)结构里,默认前缀是laravel_cache。也就是说,你调用Cache::put('key', 'value', $ttl)时,数据会被序列化后存储在名为laravel_cache的哈希表中,对应的字段就是你传入的key。查看方式:
- 进入DDEV的Redis命令行:
ddev exec redis-cli - 查看指定哈希表的所有缓存项:
(如果你的缓存前缀不是默认值,替换成HGETALL laravel_cacheconfig/cache.php中prefix的实际值) - 查看单个缓存项:
HGET laravel_cache your_cache_key
- 进入DDEV的Redis命令行:
自定义存储方式(可选):
如果你希望Cache Facade直接以独立Redis键存储数据,可以修改config/cache.php中Redis驱动的配置,添加'hash' => false:'redis' => [ 'driver' => 'redis', 'connection' => 'cache', 'prefix' => env('CACHE_PREFIX', 'laravel_cache'), 'hash' => false, // 添加这一行 ],这样
Cache::put就会生成类似laravel_cache:your_cache_key的独立Redis键,直接用GET laravel_cache:your_cache_key就能在CLI中查看。
内容的提问来源于stack exchange,提问作者superfive33
相关产品推荐
相关产品推荐

