Java RMapCache.keySet不一致行为
我正在使用redisson3.12.5 我有这个映射“远程会话”,我正在尝试使用getMapCache(RMapCache)访问它 在获取地图后,我使用keySet查询它的键,但我看到了不一致的行为,我不知道为什么 我可能用错了图书馆,但这让我发疯:) 这是我的密码Java RMapCache.keySet不一致行为,java,redisson,Java,Redisson,我正在使用redisson3.12.5 我有这个映射“远程会话”,我正在尝试使用getMapCache(RMapCache)访问它 在获取地图后,我使用keySet查询它的键,但我看到了不一致的行为,我不知道为什么 我可能用错了图书馆,但这让我发疯:) 这是我的密码 List<RMapCache> cacheList = new ArrayList<>(); int count = 10; // get 10 caches
List<RMapCache> cacheList = new ArrayList<>();
int count = 10;
// get 10 caches
for (int i = 0; i < count; i++) {
cacheList.add(redissonClient.getMapCache("REMOTE_SESSIONS", StringCodec.INSTANCE));
}
// for each one of them print the keyset
for (int i = 0; i < count; i++) {
Set set = cacheList.get(i).keySet(100);
Iterator iterator = set.iterator();
int actualCount = 0;
while (iterator.hasNext()){
iterator.next();
actualCount++;
}
System.out.println("COUNT (from size) = " + set.size() + " - COUNT (actual) = " + actualCount);
}
由于某些原因,键集的实际内容会发生变化。这可能与以下事实有关:在场景下,这是使用HSCAN实现的,但无法真正说明原因
知道为什么会这样吗?我能从地图上找到钥匙吗
我的最终目标是使用一种模式来查询密钥,但这种模式也不一致
非常感谢您的帮助。
谢谢
COUNT (from size) = 23 - COUNT (actual) = 23
COUNT (from size) = 23 - COUNT (actual) = 4
COUNT (from size) = 23 - COUNT (actual) = 4
COUNT (from size) = 23 - COUNT (actual) = 4
COUNT (from size) = 23 - COUNT (actual) = 4
COUNT (from size) = 23 - COUNT (actual) = 4
COUNT (from size) = 23 - COUNT (actual) = 23
COUNT (from size) = 23 - COUNT (actual) = 23
COUNT (from size) = 23 - COUNT (actual) = 23
COUNT (from size) = 23 - COUNT (actual) = 23