gpt4 book ai didi

java - 在 Java 中,如何从 Redis hkeys(key) 中获取一个有序的 Set?

转载 作者:IT王子 更新时间:2023-10-29 06:06:28 26 4
gpt4 key购买 nike

我将哈希值保存在 redis(jedis) 中,如下所示:

  • (键、字段、值)
  • sampleKey, 01234::Test, firstValue
  • sampleKey, 01234::Real, secondValue
  • sampleKey, 01235::Test, firstValue
  • sampleKey, 01235::Real, secondValue

然后使用“Set set = jedis.hkeys(sampleKey)”得到一个set,然后通过System.arraycopy转换成Array。我检查了数组,数据存储方式与“01235::Test、01234::Real、01235::Real、01234::Test”一样。它没有按顺序存储。

我需要按顺序获取数据..任何人都可以在这里帮助我~!谢谢。

最佳答案

尝试使用 TreeSet 而不是通用 Set。

你更有可能不能直接施放它,但你可以尝试:

TreeSet<String> set = new TreeSet<>();

按字段排序:

set.addAll(jedis.hkeys(sampleKey));

按值排序:

set.addAll(jedis.hvals(sampleKey));

在 TreeSet 中,值是按顺序存储的。对于自定义对象,您必须实现 Comparable,但对于原语,您无需执行任何操作。

注意:请记住,字符串的顺序区分大小写,因为您使用的是数字,所以没有问题,但如果您使用单词,它会将大写单词放在前面。

关于java - 在 Java 中,如何从 Redis hkeys(key) 中获取一个有序的 Set?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36494514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com