我正在使用RedisCluster来访问信息。这是我的代码:
package kafka;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.ScanParams;
import redis.clients.jedis.ScanResult;
public class RedisExample {
public static void main(String[] args) {
JedisCluster connection = JedisConnection.getInstance().getconnection();
connection.sadd("mykeys_key1", "attr1:string");
connection.sadd("mykeys_key1", "attr2:string");
connection.sadd("mykeys_key2", "attr1:string");
connection.sadd("mykeys_key2", "attr2:string");
connection.sadd("mykeys_key3", "attr1:string");
connection.sadd("mykeys_key3", "attr2:string");
System.out.println(connection.smembers("mykeys_key1"));
}
}
输出:[attr2:string, attr1:string]
我想检索所有与模式**mykeys_***
相匹配的键。
我正在寻找与此类似的东西:
connection.smembers("mykeys_*") ---
,这应该给我所有密钥,即mykeys_key3, mykeys_key2, mykeys_key1
。
基于这些键,我将再次调用Redis connection.smember("mykeys_key3")
以获取单独的集合。
hkeys 适用于哈希,因此在这种情况下没有用。任何帮助将不胜感激。
答案 0 :(得分:0)
KEYS mykeys_*
将返回与该模式匹配的键。
请注意doc page for KEYS上的警告:
警告:将KEYS视为仅应在 极其谨慎的生产环境。可能会破坏性能 针对大型数据库执行时。该命令旨在 用于调试和特殊操作,例如更改密钥空间 布局。不要在常规应用程序代码中使用KEYS。如果你是 寻找一种在键空间的子集中查找键的方法,请考虑 使用扫描或集。