Redis - 安全地检索生产数据库中的一小组 key

标签 redis

我认为这个问题没有答案,但我希望有一些答案。 在生产中,使用 KEYS 是一种不好的做法,因为它将扫描所有记录 ( O(n) )。 如果有大量的键,可能会影响性能。

假设数据库中有大量 key ,有没有安全的方法来获取其中一些 key ?例如,如果我只想查看记录并且我并不真正关心我得到什么。

我知道这更多是一个设计问题(例如使用选择、使用集),并且我永远不应该真正需要运行键,除非我知道数据库中没有大量数据。动机更多的是要谨慎,所以我不会有一天运行 key 并杀死数据库,因为我所在的数据库与我想象的不同

最佳答案

推荐的方法(从 v2.8 开始)是使用 SCAN命令(和 sibling )代替。 SCAN 基本上允许您使用光标迭代键空间,这样您就不会阻止其他操作。

关于Redis - 安全地检索生产数据库中的一小组 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23296681/

相关文章:

spring - 在 Spring Sessions 上从 Redis 反序列化 Oauth2 session 时出现异常

mysql - 建议频繁写入,很少读取数据库

ruby-on-rails - Rails ActiveJob - 如何阻止作业在 before_enqueue 中排队

php - Bluz 如何在 Redis 中存储 session ?

python - 并发下的Mongoengine文档一致性

java - 在 Redis 集合中表示空集合

ruby-on-rails - Redis 查找 set 包含元素的键

redis - 如何安全处置Spring RedisTemplate?

python - 在 Redis 上分页 "KEYS"命令

python - Windows 错误 10061 - Django channel