Получить данные из набора Redis

Я сохранил некоторые данные в Redis, используя Jedis. Теперь я хочу получить установленные значения, если ключ существует в наборе. Я использую функцию get, но в итоге получаю эту ошибку:

WRONGTYPE Операция с ключом, содержащим неверное значение.

String str = jedis.get(word);

Для хранения данных я сериализовал свой класс Node, используя функцию toString.

jedis.sadd(word, toString(node));

node является экземпляром класса Node.


person Cyber    schedule 03.03.2018    source источник
comment
Какой код вы использовали для хранения данных?   -  person Ankur    schedule 03.03.2018
comment
@Ankur обновил вопрос   -  person Cyber    schedule 03.03.2018


Ответы (2)


Вы создаете set в Redis, поэтому вам нужно использовать связанные с set функции, такие как smembers.

OR

Вы должны использовать set вместо sadd, а затем использовать get, чтобы прочитать значение обратно.

person Ankur    schedule 03.03.2018
comment
smembers возвращает набор, но я думаю, что значение должно быть строкой! - person Cyber; 03.03.2018
comment
@Cyber: Тогда вам не следует использовать sadd. Используйте set, а затем используйте get. - person Ankur; 03.03.2018

step 1 : You need to autowired redish

@Autowired
private RedisTemplate<String, Test> redisTemplate;

step 2 : KEY -> your key value for redis. ex. Your class name "Test" , 
testObj.id --> id of your obj and testObj --> your object

redisTemplate.opsForHash().put(KEY, testObj.id, testObj);

step 3 :  get Your object from redis. your key and object id. if you are 
need all object means

get single obj --> redisTemplate.opsForHash().get(KEY, id);

get need all object means  Map<Object, Object> obj= 

redisTemplate.opsForHash(). Записи (KEY);

person Muthu    schedule 03.03.2018
comment
Зачем мне нужно использовать Spring? - person Cyber; 03.03.2018