Skip to content

Commit

Permalink
fixes memcached bucket manager
Browse files Browse the repository at this point in the history
  • Loading branch information
otaviojava committed Apr 12, 2019
1 parent 551d35f commit 1cef9bf
Showing 1 changed file with 15 additions and 8 deletions.
Expand Up @@ -29,6 +29,7 @@

final class MemcachedBucketManager implements BucketManager {

private static final int NO_EXP = 0;
private final MemcachedClient client;
private final String bucketName;

Expand All @@ -37,25 +38,27 @@ final class MemcachedBucketManager implements BucketManager {
this.bucketName = bucketName;
}


@Override
public <K> void put(KeyValueEntity<K> entity) {
requireNonNull(entity, "entity is required");
put(entity.getKey(), entity.get());
}


@Override
public <K, V> void put(K key, V value) {
requireNonNull(key, "key is required");
requireNonNull(value, "value is required");
client.set(getKey(key), 0, value);
set(key, value, NO_EXP);

}

@Override
public <K> void put(KeyValueEntity<K> entity) {
requireNonNull(entity, "entity is required");
put(getKey(entity.getKey()), entity.get());
}

@Override
public <K> void put(KeyValueEntity<K> entity, Duration ttl) {
requireNonNull(entity, "entity is required");
requireNonNull(ttl, "ttl is required");
client.set(getKey(entity.get()), (int) ttl.getSeconds(), entity.get());
set(entity.getKey(), entity.get(), (int) ttl.getSeconds());
}

@Override
Expand Down Expand Up @@ -108,4 +111,8 @@ public void close() {
private <K> String getKey(K key) {
return bucketName + ':' + key.toString();
}

private void set(Object key, Object value, int exp) {
client.set(getKey(key), exp, value);
}
}

0 comments on commit 1cef9bf

Please sign in to comment.