首页 > 解决方案 > 在 Laravel 中使用缓存外观时未显示 Redis 键

问题描述

我正在使用 Laravel Cache 外观,以及CACHE_DRIVER=redis. 所有数据都成功保存在 Redis 中,但是当我使用redis-cli和运行keys*时,没有键!

使用该命令flushall in redis-cli时,它会再次从数据库中加载数据,这意味着密钥已经存储在 Redis 中。

标签: phplaravelredis

解决方案


Redis 有 16 个数据库,索引为 0 - 15。默认数据库索引是0,因此当您在未指定数据库索引的情况下运行 redis 命令时,您只是针对数据库索引运行命令0。但是,从 Laravel 5.7 开始,Laravel 将所有缓存数据存储在数据库索引1中。

为了查看缓存数据库中的键,您需要查询数据库1。您可以使用-n命令行上的开关来指定数据库索引,也可以select在 redis 提示符下使用命令来更改活动数据库。

redis-cli -n 1 keys "*"

或者

#> redis-cli
127.0.0.1:6379> select 1
127.0.0.1:6379[1]> keys *

推荐阅读