redis加锁工具RedisLockUtils

redis分布式锁 RedisLockUtils
有很多大佬介绍分布式锁实现方式的文章,在这主要记录一个现成的redis加锁工具
https://www.cnblogs.com/0201zcr/p/5942748.html

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;

import com.alibaba.fastjson.JSON;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisCommands;
/**  
 * @ClassName: RedisLockUtils  
 * @Description: redis锁工具
 * @Author:xiowewe
 *    
 */ 
@Component
public class RedisLockUtils {
    @Autowired
    private RedisTemplate<String, Object> redisTemplate;
 
	pri
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Java中使用Redis进行加锁的方法可以通过使用Redisson库来实现。首先,需要创建一个RedissonClient对象,该对象用于与Redis服务器进行通信。然后,使用RedissonClient对象的getLock方法来获取一个RLock对象,该对象代表了一个分布式。接下来,可以使用RLock对象的lock方法来获取,使用unlock方法来释放。下面是一个示例代码: ```java Config config = new Config(); config.useSingleServer().setAddress("redis://127.0.0.1:6379"); config.useSingleServer().setPassword("redis1234"); final RedissonClient client = Redisson.create(config); RLock lock = client.getLock("lock1"); try { lock.lock(); // 执行需要加锁的代码 } finally { lock.unlock(); } ``` 在上面的代码中,首先创建了一个RedissonClient对象,并配置了连接Redis服务器的地址和密码。然后,通过调用client.getLock方法来获取一个名为"lock1"的对象。接下来,在try-finally块中,使用lock.lock方法来获取,并在finally块中使用lock.unlock方法来释放。这样就可以确保在获取到之后执行需要加锁的代码,并在代码执行完毕后释放。 请注意,上述代码中的lock_key、internalLockLeaseTime和timeout等参数可以根据实际需求进行调整。 #### 引用[.reference_title] - *1* *2* *3* [redis加锁、解](https://blog.csdn.net/m0_54138989/article/details/119872433)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值