Laravel缓存键前缀以数据库前缀为前缀

5
缓存前缀设置的默认值是:
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache')

但是当我缓存一些数据(使用Redis)时,缓存键的格式出现意外情况:
app_database_app_cache:some-data

缓存键以数据库前缀为前缀。我希望缓存键只是这样的:
app_cache:some-data

这是正确的行为吗?是否有地方可以更改它?


1
env('CACHE_PREFIX')是什么? - TsaiKoga
它未设置,因此会设置回退值,即如上所示的默认值。 - Botch
默认的缓存前缀是 laravel_cache,所以我认为你的 env('CACHE_PREFIX')app_database_app_cache - TsaiKoga
我的APP_NAME环境变量被设置为'app'。 - Botch
有趣的是,如果你设置了 env('CACHE_PREFIX'),它会影响任何新的键吗? - Spholt
@TsaiKoga 谢谢!设置 CACHE_PREFIX 解决了我的问题。 - Player1
2个回答

5

我不知道 REDIS_PREFIX 环境变量可以添加前缀。config.php 文件的缓存也使调试更加困难。


2
对于仍然感到迷惑的人,Redis键是Laravel中两个变量的组合。
  1. REDIS_PREFIX - config/database.php
'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),

缓存前缀 - config/cache.php
'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),

如果你看到你的键中有意外的前缀或后缀,最好查看这两个部分。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接