package com.jarvis.cache.lock;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import redis.clients.jedis.JedisCluster;
public class JedisClusterLockWithLua extends AbstractRedisLockWithLua {
private JedisCluster jedisCluster;
public JedisClusterLockWithLua(JedisCluster jedisCluster) {
this.jedisCluster=jedisCluster;
}
@Override
protected Long eval(byte[] lockScript, String key, List<byte[]> args) throws UnsupportedEncodingException {
List<byte[]> keys=new ArrayList<byte[]>();
keys.add(key.getBytes("UTF-8"));
return (Long)jedisCluster.eval(lockScript, keys, args);
}
@Override
protected void del(String key) {
jedisCluster.del(key);
}
}