代码拉取完成,页面将自动刷新
分布式锁需要的都是同时,如果reidis中开启事务的化,就不会立即把命令执行到redis中,所以
redisTemplate.setEnableTransactionSupport(false) 来关闭事务,但这样关闭后 会不会是 全局都关闭了redis事务???
public boolean setnx(String key, Serializable value) {
redisTemplate.setEnableTransactionSupport(false);
RedisConnectionFactory factory = redisTemplate.getConnectionFactory();
RedisConnection redisConnection = null;
try {
redisConnection = RedisConnectionUtils.getConnection(factory);
return redisConnection.setNX(keySerializer.serialize(key), valueSerializer.serialize(value));
} finally {
RedisConnectionUtils.releaseConnection(redisConnection, factory);
}
}
public boolean lock(String key) {
redisTemplate.setEnableTransactionSupport(false);
RedisConnectionFactory factory = redisTemplate.getConnectionFactory();
RedisConnection redisConnection = null;
try {
redisConnection = RedisConnectionUtils.getConnection(factory);
return redisConnection.setNX(keySerializer.serialize(key), valueSerializer.serialize("0"));
} finally {
RedisConnectionUtils.releaseConnection(redisConnection, factory);
}
}