【问题标题】:Laravel cache key prefix is prepended with database prefixLaravel 缓存键前缀带有数据库前缀
【发布时间】:2020-01-15 12:29:20
【问题描述】:

缓存前缀设置有默认值:

'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache')

但是当我缓存一些数据(使用Redis)时,缓存键有一个意外的格式:

app_database_app_cache:some-data

缓存键以数据库前缀为前缀。我希望缓存键只是:

app_cache:some-data

这是正确的行为吗,是否可以在某个地方进行更改?

【问题讨论】:

  • 什么是env('CACHE_PREFIX')
  • 它没有设置,所以它设置了回退值,如上图所示为默认值。
  • 默认的是laravel_cache,所以我认为你的env('CACHE_PREFIX')app_database_app_cache
  • 我的 APP_NAME 环境变量设置为“app”。
  • 出于兴趣,您设置env('CACHE_PREFIX'),是否影响任何新键?

标签: laravel laravel-6


【解决方案1】:

不知何故,我没有注意到 REDIS_PREFIX env var 前置前缀。 config.php 的文件缓存也让调试变得更加困难。

【讨论】:

    【解决方案2】:

    对于还输的人来说,Redis key 是 Laravel 中两个变量的组合。

    1. REDIS_PREFIX - config/database.php
    'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'),
    
    1. CACHE_PREFIX - config/cache.php
    'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache'),
    

    如果您在密钥中看到意外的前缀或后缀,最好查看这两个。

    【讨论】:

      猜你喜欢
      • 2020-07-20
      • 1970-01-01
      • 2013-06-01
      • 1970-01-01
      • 2015-06-15
      • 2018-04-11
      • 2013-08-26
      • 1970-01-01
      • 2017-05-04
      相关资源
      最近更新 更多