是否有一个Redis命令获取数据库中的所有键?我见过一些python-redis库获取它们。但我想知道从redis-client是否可以。
当前回答
SCAN不像keys那样要求客户端将所有键加载到内存中。SCAN提供了一个可以使用的迭代器。我的redis里有1B条记录,我永远都没有足够的内存来一次性归还所有的键。
下面是一个python代码片段,用于从匹配模式的存储中获取所有键并删除它们:
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
for key in r.scan_iter("key_pattern*"):
print key
其他回答
为了获得redis服务器中所有可用的键,你应该打开redis-cli并输入: 键* 为了获得更多帮助,请访问此页面: 这个链接
我们应该在redis 2.8及以后的版本中使用——scan——pattern。
您可以尝试在redis-cli之上使用这个包装器。 https://github.com/VijayantSoni/redis-helper
看看下面的Redis小抄。 要使用redis-cli获取一个redis键的子集,我使用这个命令
KEYS "prefix:*"
SCAN不像keys那样要求客户端将所有键加载到内存中。SCAN提供了一个可以使用的迭代器。我的redis里有1B条记录,我永远都没有足够的内存来一次性归还所有的键。
下面是一个python代码片段,用于从匹配模式的存储中获取所有键并删除它们:
import redis
r = redis.StrictRedis(host='localhost', port=6379, db=0)
for key in r.scan_iter("key_pattern*"):
print key
redis-cli -h <host> -p <port> keys *
哪里*是列出所有键的模式
推荐文章
- 我如何移动一个redis数据库从一个服务器到另一个?
- Redis比mongoDB快多少?
- 在Redis中打印按键数量
- Redis是单线程的,那么它如何做并发I/O?
- 如何连接远程Redis服务器?
- 无法连接到Redis在127.0.0.1:6379:连接拒绝与自制
- 多Redis数据库的意义是什么?
- 如何列出所有的Redis数据库?
- 为什么我们需要像RabbitMQ这样的消息代理而不是像PostgreSQL这样的数据库?
- 检查Redis服务器版本
- Redis键命名约定?
- Linux—只安装redis-cli
- Redis只是一个缓存吗?
- 对持有错误类型值php的键进行操作
- WSL Redis遇到系统没有启动,systemd作为初始化系统(PID 1)。不能操作