From f18fffa4ee82cde20517d5c479b813daac05c689 Mon Sep 17 00:00:00 2001 From: Costin Leau Date: Wed, 8 Dec 2010 23:02:28 +0200 Subject: [PATCH] + add discard and unwatch operations --- .../keyvalue/redis/core/RedisOperations.java | 4 + .../keyvalue/redis/core/RedisTemplate.java | 75 +++++++++++++------ 2 files changed, 56 insertions(+), 23 deletions(-) diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisOperations.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisOperations.java index cc9dd0347..a682170d2 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisOperations.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisOperations.java @@ -74,8 +74,12 @@ public interface RedisOperations { void watch(Collection keys); + void unwatch(); + void multi(); + void discard(); + Object exec(); List sort(K key, SortParameters params); diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java index f8e7b036a..2c3f600e5 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java @@ -382,6 +382,7 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation // RedisOperations // + @Override public Object exec() { return execute(new RedisCallback() { @@ -566,6 +567,57 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation }, true); } + @Override + public void multi() { + execute(new RedisCallback() { + @Override + public Object doInRedis(RedisConnection connection) throws DataAccessException { + connection.multi(); + return null; + } + }, true); + } + + @Override + public void discard() { + execute(new RedisCallback() { + + @Override + public Object doInRedis(RedisConnection connection) throws DataAccessException { + connection.discard(); + return null; + } + }, true); + } + + @Override + public void watch(Collection keys) { + final byte[][] rawKeys = rawKeys(keys); + + execute(new RedisCallback() { + @Override + public Object doInRedis(RedisConnection connection) { + connection.watch(rawKeys); + return null; + } + }, true); + } + + @Override + public void unwatch() { + execute(new RedisCallback() { + @Override + public Object doInRedis(RedisConnection connection) throws DataAccessException { + connection.unwatch(); + return null; + } + }, true); + } + + // + // Value Ops + // + @Override public BoundValueOperations boundValueOps(K key) { return new DefaultBoundValueOperations(key, this); @@ -746,29 +798,7 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation } - @Override - public void multi() { - execute(new RedisCallback() { - @Override - public Object doInRedis(RedisConnection connection) throws DataAccessException { - connection.multi(); - return null; - } - }, true); - } - @Override - public void watch(Collection keys) { - final byte[][] rawKeys = rawKeys(keys); - - execute(new RedisCallback() { - @Override - public Object doInRedis(RedisConnection connection) { - connection.watch(rawKeys); - return null; - } - }, true); - } // // List operations @@ -809,7 +839,6 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation } - @Override public Long leftPush(K key, V value) { final byte[] rawKey = rawKey(key);