使用@Autowired直接注入,无需进行redis的配置

动态 未结 0 127
小小草
小小草 LV1 2023年9月23日 23:40 发表
如果你的 Spring Boot 项目中已经配置了 RedisTemplate,那么可以直接使用 `@Autowired` 注解来注入 RedisTemplate 对象,无需进行 Redis 的配置。以下是一个示例: ```java import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.redisson.Redisson; import org.redisson.api.RLock; import org.redisson.api.RedissonClient; import org.redisson.config.Config; import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; public class RedLockExample { @Autowired private RedisTemplate redisTemplate; public void doSomethingWithLock() { // 创建 Redisson 客户端 Config config = new Config(); config.useSingleServer().setAddress("redis://localhost:6379"); RedissonClient redissonClient = Redisson.create(config); // 创建 RedLock 对象 List locks = new ArrayList<>(); locks.add(redissonClient.getLock("lock1")); locks.add(redissonClient.getLock("lock2")); locks.add(redissonClient.getLock("lock3")); RLock redLock = redissonClient.getRedLock(locks); try { // 获取锁并执行需要保护的代码 boolean isLocked = redLock.tryLock(500, 10000, TimeUnit.MILLISECONDS); if (isLocked) { System.out.println("Lock acquired"); // do something... } else { System.out.println("Failed to acquire lock"); } } catch (InterruptedException e) { Thread.currentThread().interrupt(); } finally { // 释放锁 redLock.unlock(); redissonClient.shutdown(); } } } ``` 在上面的示例中,我们使用 `@Autowired` 注解来注入 RedisTemplate 对象,并在获取锁时直接使用了该对象。需要注意的是,如果你的 Redis 配置与默认配置不同,那么需要在项目中进行相应的配置。
收藏(0)  分享
相关标签: 智能问答
问题没解决?让AI助手帮你作答 AI助手
0个回复
  • 消灭零回复