首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Laravel中使用Cache facade时未显示Redis键

在Laravel中使用Cache facade时未显示Redis键
EN

Stack Overflow用户
提问于 2019-06-13 00:22:47
回答 2查看 1.1K关注 0票数 3

我使用的是Laravel Cache facade和CACHE_DRIVER=redis。所有数据都成功地保存在Redis中,但是当我使用redis-cli并运行keys*时,却没有密钥!

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-13 03:44:48

0有16个索引为0- 15的数据库。默认的数据库索引是0,所以当您运行Redis命令而不指定数据库索引时,您只能针对数据库索引redis运行命令。然而,从Laravel 5.7开始,Laravel将所有缓存数据存储在数据库索引1中。

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

redis-cli -n 1 keys "*"

或者

#> redis-cli
127.0.0.1:6379> select 1
127.0.0.1:6379[1]> keys *
票数 10
EN

Stack Overflow用户

发布于 2021-02-10 22:44:01

更新

这可能与database.php配置文件中redis块中的Laravel缓存前缀有关。请参阅here

有关更多详细信息,请参阅this answer。

以前的Ans。

我遇到了同样的问题,我尝试了接受的ans.,但是不同的数据库不是问题。

像这样的Redis::scan('*'),我能够使用scan找到丢失的密钥。为什么使用Redis::keys('*')不返回密钥,仍然是一个谜。

(只需注意:使用Python创建的值不会随keys一起返回,而使用Laravel创建的值则会返回。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56566600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档