Как получить все ключи набора Redis после добавления с помощью операции sadd - PullRequest
0 голосов
/ 04 октября 2018

Я использую 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 работает с хэшем, поэтому не подходит для этих сценариев.Любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 04 октября 2018

KEYS mykeys_* вернет ключи, соответствующие этому шаблону.

Обратите внимание на предупреждение на странице документа для KEYS :

Предупреждение:рассматривайте KEYS как команду, которую следует использовать только в производственных средах с особой осторожностью.Это может привести к снижению производительности при выполнении в больших базах данныхЭта команда предназначена для отладки и специальных операций, таких как изменение раскладки клавиатуры.Не используйте клавиши в вашем обычном коде приложения.Если вы ищете способ найти ключи в подмножестве вашего пространства ключей, рассмотрите возможность использования SCAN или наборов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...