DATAREDIS-402 - RedisCache should not expire known keys in case ttl of element is not set.

We now skip defining expire on known keys set in case element is eternal.

Original pull request: #141.
This commit is contained in:
Christoph Strobl
2015-06-01 14:37:00 +02:00
committed by Thomas Darimont
parent 281c9c58ae
commit aa04e73dbd
2 changed files with 17 additions and 1 deletions

View File

@@ -378,8 +378,12 @@ public class RedisCache implements Cache {
protected void maintainKnownKeys(RedisCacheElement element, RedisConnection connection) {
if (!element.hasKeyPrefix()) {
connection.zAdd(cacheMetadata.getSetOfKnownKeysKey(), 0, element.getKeyBytes());
connection.expire(cacheMetadata.getSetOfKnownKeysKey(), element.getTimeToLive());
if (!element.isEternal()) {
connection.expire(cacheMetadata.getSetOfKnownKeysKey(), element.getTimeToLive());
}
}
}