From 424512d4e655c72b7982d136e37df8c5b28dbded Mon Sep 17 00:00:00 2001 From: Yaourt Date: Sun, 7 Nov 2010 10:48:23 +0100 Subject: [PATCH] keys command now return a set (instead of a list). The assumption that keys are ordered seems to be false,on my laptop, with the keys 'foo' and 'foobar', keys('foo*') returns ['foobar', 'foo'] --- src/main/java/redis/clients/jedis/BinaryJedis.java | 6 ++++-- src/main/java/redis/clients/jedis/Jedis.java | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/java/redis/clients/jedis/BinaryJedis.java b/src/main/java/redis/clients/jedis/BinaryJedis.java index c6a0cdb..93056a6 100644 --- a/src/main/java/redis/clients/jedis/BinaryJedis.java +++ b/src/main/java/redis/clients/jedis/BinaryJedis.java @@ -4,6 +4,7 @@ import java.io.IOException; import java.net.UnknownHostException; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; @@ -177,10 +178,11 @@ public class BinaryJedis implements BinaryJedisCommands { * @param pattern * @return Multi bulk reply */ - public List keys(final byte[] pattern) { + public Set keys(final byte[] pattern) { checkIsInMulti(); client.keys(pattern); - return client.getBinaryMultiBulkReply(); + final HashSet keySet = new HashSet(client.getBinaryMultiBulkReply()); + return keySet; } /** diff --git a/src/main/java/redis/clients/jedis/Jedis.java b/src/main/java/redis/clients/jedis/Jedis.java index 4c95282..ee76869 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -2,6 +2,7 @@ package redis.clients.jedis; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; @@ -142,10 +143,11 @@ public class Jedis extends BinaryJedis implements JedisCommands { * @param pattern * @return Multi bulk reply */ - public List keys(final String pattern) { + public Set keys(final String pattern) { checkIsInMulti(); client.keys(pattern); - return client.getMultiBulkReply(); + final HashSet keySet = new HashSet( client.getMultiBulkReply()); + return keySet; } /**