Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从Redis集合检索数据_Java_Redis_Jedis - Fatal编程技术网

Java 从Redis集合检索数据

Java 从Redis集合检索数据,java,redis,jedis,Java,Redis,Jedis,我已经用Jedis在Redis中存储了一些数据。 现在,如果密钥存在于集合中,我想检索集合值。 我正在使用get函数,但最终出现以下错误: 针对持有错误类型值的键的错误类型操作 为了存储数据,我使用toString函数序列化了节点类 jedis.sadd(word, toString(node)); 节点是节点类的一个实例。您正在redis中创建一个集合,因此需要使用集合相关函数,如成员 或 您应该使用set而不是sadd,然后使用get读回值。步骤1:您需要自动连线redish step 1

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

针对持有错误类型值的键的错误类型操作

为了存储数据,我使用
toString
函数序列化了
节点

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

节点
节点
类的一个实例。

您正在redis中创建一个
集合
,因此需要使用
集合
相关函数,如
成员

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

步骤1:您需要自动连线redish
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= 
@自动连线 私有再贴现模板; 步骤2:键->您的redis键值。例如,您的类名“Test”, testObj.id-->对象的id和testObj-->对象的id redisTemplate.opsForHash().put(KEY,testObj.id,testObj); 步骤3:从redis获取您的对象。您的密钥和对象id。如果 需要一切客观手段 获取单个对象-->redisTemplate.opsForHash().get(键,id); 获取需要所有对象意味着映射对象=

redisTemplate.opsForHash().entries(键)

u使用了什么代码来存储数据?@Ankur更新了问题:为什么我需要使用Spring?
smembers
返回一个集合,但我猜该值应该是一个字符串@赛博:那么你不应该使用
sadd
。使用
set
然后使用
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=