如何在redis中获取特定哈希下的所有键和值?

时间:2017-09-29 20:38:24

标签: java database spring redis spring-data-redis

我尝试使用以下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}]}

请告诉我为什么会收到此错误,这对我有帮助。

2 个答案:

答案 0 :(得分:0)

您在redis中输入的密钥是否与代码中的密钥相同?看起来'onlline'应该是'在线'。

答案 1 :(得分:0)

如您所见,从hgetall检索的值是一个数组,即返回类型。因此,请尝试将值保存在Set / Array中,并尝试使用迭代器进行显示。