【发布时间】:2019-10-27 05:27:48
【问题描述】:
我正在使用 Laravel Cache 外观和 CACHE_DRIVER=redis。所有数据都成功保存在Redis中,但是当我使用redis-cli并运行keys*时没有键!
当使用命令flushall in redis-cli 时,它会再次从数据库中加载数据,这意味着密钥已经存储在 Redis 中。
【问题讨论】:
我正在使用 Laravel Cache 外观和 CACHE_DRIVER=redis。所有数据都成功保存在Redis中,但是当我使用redis-cli并运行keys*时没有键!
当使用命令flushall in redis-cli 时,它会再次从数据库中加载数据,这意味着密钥已经存储在 Redis 中。
【问题讨论】:
Redis 有 16 个索引为 0 - 15 的数据库。默认数据库索引为 0,因此当您在未指定数据库索引的情况下运行 redis 命令时,您只会针对数据库索引 0 运行命令。但是,从 Laravel 5.7 开始,Laravel 将所有缓存数据存储在数据库索引 1 中。
为了查看缓存数据库中的键,您需要查询数据库1。您可以在命令行中使用-n 开关指定数据库索引,也可以在redis 提示符下使用select 命令更改活动数据库。
redis-cli -n 1 keys "*"
或
#> redis-cli
127.0.0.1:6379> select 1
127.0.0.1:6379[1]> keys *
【讨论】: