我尝试使用以下java代码读取特定redis哈希键中的所有键和值,
import redis.clients.jedis.Jedis;
public class RedisDBExport {
public static void main(String[] args) throws Exception {
Jedis jedis = new Jedis("hostname", portno);
jedis.auth("password");
System.out.println("Connected to Redis");
System.out.println("Connected to Redis:"+jedis.hgetAll("bookstore:englishauthor:usa:2017-08-27:online:subscriberlist"));
}
}
我在输出中得到以下输出,
连接到Redis连接到Redis:{}
但是在redis中我可以看到以下条目,
row key value
1 Kumar {"totalbooks":0,"openbooks":[{"total":0}]}
2 Anuxx {"totalbooks":1,"openbooks":[{"total":1}]}
3 Manux {"totalbooks":2,"openbooks":[{"total":2}]}
4 Kumal {"totalbooks":4,"openbooks":[{"total":4}]}
5 Anuxy {"totalbooks":3,"openbooks":[{"total":3}]}
6 Manuy {"totalbooks":5,"openbooks":[{"total":5}]}
请告诉我为什么会收到此错误,这对我有帮助。
答案 0 :(得分:0)
您在redis中输入的密钥是否与代码中的密钥相同?看起来'onlline'应该是'在线'。
答案 1 :(得分:0)
如您所见,从hgetall检索的值是一个数组,即返回类型。因此,请尝试将值保存在Set / Array中,并尝试使用迭代器进行显示。