redis集群对象JedisCluster不支持事务,但是,集群里边的每个节点支持事务。
redis 集群管理事务的工具类
public class JedisClusterTransactionManager {
private static ThreadLocal<Object> txThreadLocal = new ThreadLocal<>();
private static ThreadLocal<JedisCluster> clusterThreadLocal= new ThreadLocal<>();
//开启事务
public static void multi(JedisCluster jedisCluster){
clusterThreadLocal.set(jedisCluster);
}
/**
* 保存string数据类型
* @param key
* @param value
*/
public static void set(String key,String value) {
Transaction tx = getTxByKey(key);
tx.set(key, value);
}
/**
* 批量保存string数据类型
* @param key
* @param value
*/
public static void mset(String... keysvalues) {
if(keysvalues!=null &am