【问题标题】:Laravel redis works, but list still emptyLaravel redis 有效,但列表仍然为空
【发布时间】:2019-11-20 04:48:11
【问题描述】:

我目前在 laravel 中使用 redis 一切正常,除非我不能像往常一样检查我的 redis 键

我去了“redis-cli”并输入“keys *”它显示-空列表或设置-

但我的缓存有效。我用 laravel 调试栏对其进行了测试。

我不确定,在哪里以及如何通过命令行检查我所有的 redis 键,

这是我的 redis 配置/数据库

'redis' => [

    'client' => env('REDIS_CLIENT', 'predis'),

    'options' => [
        'cluster' => env('REDIS_CLUSTER', 'redis'),
        'prefix' => env('REDIS_PREFIX', 'helper_'),
    ],

谢谢

...

【问题讨论】:

    标签: laravel redis


    【解决方案1】:

    假设您使用默认配置,并且将CACHE_DRIVER 设置为redis,那么您实际上是在写入Redis。但是,默认情况下,您使用索引 1 写入数据库

    您可以通过在 redis-cli 中调用 SELECT 1 后跟 KEYS * 来查看这些条目。

    您可以在config/database.php 的连接中指定要写入哪个数据库。然后您可以在config/cache.php 中选择默认使用的连接。

    这就是为什么在 Nazmus Shakib 的回答中更改为 default 有效,因为在 config/database.php 中概述的 default 连接使用数据库 0 而不是数据库 1。或者,您可以在 .env 中将 REDIS_CACHE_DB 更改为 0 .或者,您可以只使用数据库 1。

    【讨论】:

      【解决方案2】:

      需要修改文件:config/cache.php

      更改stores > redis > connection

      'redis' => [
              'driver' => 'redis',
              'connection' => 'cache',
          ],
      

      'redis' => [
              'driver' => 'redis',
              'connection' => 'default',
          ],
      

      并确保您的.env 文件包含CACHE_DRIVER=redis

      【讨论】:

      • 谢谢,你能告诉我为什么我们应该把它改成默认而不是缓存吗?
      猜你喜欢
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      • 2018-10-17
      • 1970-01-01
      • 2017-07-19
      • 2015-06-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多