【问题标题】:Retrieve data from Redis set从 Redis 集中检索数据
【发布时间】:2018-08-11 10:32:36
【问题描述】:

我使用Jedis 在 Redis 中存储了一些数据。 现在,如果密钥存在于集合中,我想检索集合值。 我正在使用get 函数,但我最终得到了这个错误:

WRONGTYPE 对持有错误值的键进行操作。

String str = jedis.get(word);

为了存储数据,我使用toString 函数序列化了我的Node 类。

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

nodeNode 类的一个实例。

【问题讨论】:

  • 你用什么代码存储数据?
  • @Ankur 更新了问题

标签: java redis jedis


【解决方案1】:

您正在redis中创建set,因此您需要使用set相关函数,例如smembers

您应该使用set 而不是sadd,然后使用get 来读取值。

【讨论】:

  • smembers 返回一个集合,但我猜这个值应该是一个字符串!
  • @Cyber​​:那么你不应该使用sadd。使用set,然后使用get
【解决方案2】:
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().entries(KEY);

【讨论】:

  • 我为什么需要使用 Spring?
猜你喜欢
  • 2011-10-26
  • 1970-01-01
  • 2013-08-06
  • 2020-06-08
  • 1970-01-01
  • 2016-02-14
  • 1970-01-01
  • 2015-12-18
  • 1970-01-01
相关资源
最近更新 更多