From e75af17d8c4470dd31ef2eff79fa0180aaa60d86 Mon Sep 17 00:00:00 2001 From: Calvin Date: Fri, 17 Jan 2014 15:34:18 +0800 Subject: [PATCH] =?UTF-8?q?#314=20=E4=BD=BF=E7=94=A8NoSQL=20Unit=E7=9A=84?= =?UTF-8?q?=E5=B5=8C=E5=85=A5=E5=BC=8FRedis=E7=BC=96=E5=86=99=E6=B5=8B?= =?UTF-8?q?=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/nosql/redis/JedisTemplate.java | 15 +++++++--- .../nosql/redis/JedisTemplateTest.java | 30 +++++++++++++++++++ 2 files changed, 41 insertions(+), 4 deletions(-) diff --git a/modules/extension/src/main/java/org/springside/modules/nosql/redis/JedisTemplate.java b/modules/extension/src/main/java/org/springside/modules/nosql/redis/JedisTemplate.java index ba9ff50c..8bd675a3 100644 --- a/modules/extension/src/main/java/org/springside/modules/nosql/redis/JedisTemplate.java +++ b/modules/extension/src/main/java/org/springside/modules/nosql/redis/JedisTemplate.java @@ -188,7 +188,6 @@ public class JedisTemplate { public long incr(final String key) { return execute(new JedisAction() { - @Override public Long action(Jedis jedis) { return jedis.incr(key); @@ -198,7 +197,6 @@ public class JedisTemplate { public long decr(final String key) { return execute(new JedisAction() { - @Override public Long action(Jedis jedis) { return jedis.decr(key); @@ -209,7 +207,6 @@ public class JedisTemplate { // ////////////// 关于List /////////////////////////// public void lpush(final String key, final String value) { execute(new JedisActionNoResult() { - @Override public void action(Jedis jedis) { jedis.lpush(key, value); @@ -217,6 +214,16 @@ public class JedisTemplate { }); } + public String rpop(final String key) { + return execute(new JedisAction() { + + @Override + public String action(Jedis jedis) { + return jedis.rpop(key); + } + }); + } + /** * 返回List长度, key不存在时返回0,key类型不是list时抛出异常. */ @@ -284,7 +291,7 @@ public class JedisTemplate { } /** - * 返回List长度, key不存在时返回0,key类型不是sorted set时抛出异常. + * 返回sorted set长度, key不存在时返回0,key类型不是sorted set时抛出异常. */ public long zcard(final String key) { return execute(new JedisAction() { diff --git a/modules/extension/src/test/java/org/springside/modules/nosql/redis/JedisTemplateTest.java b/modules/extension/src/test/java/org/springside/modules/nosql/redis/JedisTemplateTest.java index 934b0fc3..fbc78216 100644 --- a/modules/extension/src/test/java/org/springside/modules/nosql/redis/JedisTemplateTest.java +++ b/modules/extension/src/test/java/org/springside/modules/nosql/redis/JedisTemplateTest.java @@ -51,4 +51,34 @@ public class JedisTemplateTest { assertThat((long) jedisTemplate.getAsLong(key)).isEqualTo(123L); assertThat((long) jedisTemplate.getAsLong(notExistKey)).isZero(); } + + @Test + public void listActions() { + String key = "test.string.key"; + String value = "123"; + String value2 = "456"; + + // push/pop single element + jedisTemplate.lpush(key, value); + assertThat(jedisTemplate.llen(key)).isEqualTo(1); + assertThat(jedisTemplate.rpop(key)).isEqualTo(value); + + // push/pop two elements + jedisTemplate.lpush(key, value); + jedisTemplate.lpush(key, value2); + assertThat(jedisTemplate.llen(key)).isEqualTo(2); + assertThat(jedisTemplate.rpop(key)).isEqualTo(value); + assertThat(jedisTemplate.rpop(key)).isEqualTo(value2); + + // remove elements + jedisTemplate.lpush(key, value); + jedisTemplate.lpush(key, value); + jedisTemplate.lpush(key, value); + assertThat(jedisTemplate.llen(key)).isEqualTo(3); + assertThat(jedisTemplate.lremOne(key, value)).isTrue(); + assertThat(jedisTemplate.llen(key)).isEqualTo(2); + assertThat(jedisTemplate.lremAll(key, value)).isTrue(); + assertThat(jedisTemplate.llen(key)).isEqualTo(0); + assertThat(jedisTemplate.lremAll(key, value)).isFalse(); + } }