从 Redis 集合中检索数据
Retrieve data from Redis set
我使用 Jedis
在 Redis 中存储了一些数据。
现在我想在集合中存在键的情况下检索集合值。
我正在使用 get
函数,但最终出现此错误:
WRONGTYPE Operation against a key holding the wrong kind of value.
String str = jedis.get(word);
为了存储数据,我使用 toString
函数序列化了我的 Node
class。
jedis.sadd(word, toString(node));
node
是 Node
class.
的实例
您正在 redis 中创建一个 set
,因此您需要使用 set
相关函数,例如 smembers
。
或
您应该使用 set
而不是 sadd
,然后使用 get
读回值。
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);
我使用 Jedis
在 Redis 中存储了一些数据。
现在我想在集合中存在键的情况下检索集合值。
我正在使用 get
函数,但最终出现此错误:
WRONGTYPE Operation against a key holding the wrong kind of value.
String str = jedis.get(word);
为了存储数据,我使用 toString
函数序列化了我的 Node
class。
jedis.sadd(word, toString(node));
node
是 Node
class.
您正在 redis 中创建一个 set
,因此您需要使用 set
相关函数,例如 smembers
。
或
您应该使用 set
而不是 sadd
,然后使用 get
读回值。
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);