是否有一个Redis命令获取数据库中的所有键?我见过一些python-redis库获取它们。但我想知道从redis-client是否可以。


当前回答

redis-cli -h <host> -p <port> keys * 

哪里*是列出所有键的模式

其他回答

我们应该在redis 2.8及以后的版本中使用——scan——pattern。

您可以尝试在redis-cli之上使用这个包装器。 https://github.com/VijayantSoni/redis-helper

如果你的redis是一个集群,你可以使用这个脚本

#!/usr/bin/env bash
redis_list=("172.23.3.19:7001,172.23.3.19:7002,172.23.3.19:7003,172.23.3.19:7004,172.23.3.19:7005,172.23.3.19:7006")

arr=($(echo "$redis_list" | tr ',' '\n'))

for info in ${arr[@]}; do
  echo "start :${info}"
  redis_info=($(echo "$info" | tr ':' '\n'))
  ip=${redis_info[0]}
  port=${redis_info[1]}
  echo "ip="${ip}",port="${port}
  redis-cli -c -h $ip -p $port set laker$port '湖人总冠军'
  redis-cli -c -h $ip -p $port keys \*

done

echo "end"

如果你正在使用Laravel框架,那么你可以简单地使用这个:

$allKeyList = Redis::KEYS("*");

print_r($allKeyList);

在核心PHP:

$redis = new Redis();

$redis->connect('hostname', 6379);

$allKeyList = $redis->keys('*');

print_r($allKeyList);

为了获得redis服务器中所有可用的键,你应该打开redis-cli并输入: 键* 为了获得更多帮助,请访问此页面: 这个链接

是的,你可以通过使用这个得到所有的钥匙

var redis = require('redis');
redisClient = redis.createClient(redis.port, redis.host);    
  redisClient.keys('*example*', function (err, keys) {
})