From a20fabd7f393f1d1f9308485fbcf38cc5a518ac5 Mon Sep 17 00:00:00 2001 From: Costin Leau Date: Tue, 30 Nov 2010 20:44:44 +0200 Subject: [PATCH] + add expireAt on RedisConnection --- .../keyvalue/redis/connection/RedisCommands.java | 2 ++ .../redis/connection/jedis/JedisConnection.java | 13 +++++++++++++ .../redis/connection/jredis/JredisConnection.java | 9 +++++++++ 3 files changed, 24 insertions(+) diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisCommands.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisCommands.java index 6e1497c4e..8b227f9d6 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisCommands.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisCommands.java @@ -44,6 +44,8 @@ public interface RedisCommands extends RedisTxCommands, RedisStringCommands, Red Boolean expire(byte[] key, int seconds); + Boolean expireAt(byte[] key, long unixTime); + Boolean persist(byte[] key); Integer ttl(byte[] key); diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnection.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnection.java index 25672176b..e878174df 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnection.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnection.java @@ -190,6 +190,19 @@ public class JedisConnection implements RedisConnection { } } + @Override + public Boolean expireAt(byte[] key, long unixTime) { + try { + if (isQueueing()) { + transaction.expireAt(key, unixTime); + return null; + } + return (jedis.expireAt(key, unixTime) == 1); + } catch (Exception ex) { + throw convertJedisAccessException(ex); + } + } + @Override public Collection keys(byte[] pattern) { try { diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jredis/JredisConnection.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jredis/JredisConnection.java index 94bced134..2cc0810d1 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jredis/JredisConnection.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jredis/JredisConnection.java @@ -134,6 +134,15 @@ public class JredisConnection implements RedisConnection { } } + @Override + public Boolean expireAt(byte[] key, long unixTime) { + try { + return jredis.expireat(JredisUtils.convert(charset, key), unixTime); + } catch (RedisException ex) { + throw JredisUtils.convertJredisAccessException(ex); + } + } + @Override public Collection keys(byte[] pattern) { try {