SpringBoot集成redisson全過程
更新時間:2024年10月28日 10:05:33 作者:卻誠Salong
本文主要介紹了如何集成Redisson,包括環(huán)境配置、引入Redisson的依賴、添加Redisson的配置類以及Redisson的常見使用方法,在類中注入Redisson后,可以獲取鎖對象和使用,這些都是作者的個人經(jīng)驗,供讀者參考
SpringBoot集成redisson
1.首先需要已經(jīng)集成redis的環(huán)境
如何集成redis這里不做描述。
2.引入redisson的依賴
(這里使用的是3.14.1版本)
<dependency> <groupId>org.redisson</groupId> <artifactId>redisson</artifactId> <version>3.14.1</version> </dependency>
3.添加redisson的配置類
package com.salong.framework.config; import lombok.Data; import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Data @Configuration public class RedissonConfig { @Value("${spring.redis.host}") private String host; @Value("${spring.redis.port}") private String port; @Value("${spring.redis.password}") private String password; @Bean public RedissonClient getRedisSon() { Config config = new Config(); String address = new StringBuilder("redis://").append(host).append(":").append(port).toString(); config.useSingleServer().setAddress(address); if (null != password && !"".equals(password.trim())) { config.useSingleServer().setPassword(password); } return Redisson.create(config); } }
其中,我這里使用的是單機(jī)的redis,如果是其他方式(主從,哨兵,集群)的話,按照下面的進(jìn)行修改配置即可。
4.redisson的常見使用
4.1 在類中注入redisson
@Autowired private RedissonClient redissonClient;
4.2 獲取鎖對象和使用。
public void test(){ //競爭的鎖對象名稱 RLock lock = redissonClient.getLock("lockName"); //tryLock可以不加參數(shù),不會拋異常,僅嘗試獲取一次鎖對象 //tryLock(5,10,TimeUnit.SECONDS)意思為等待鎖對象5秒鐘,獲取到對象10秒鐘后釋放鎖對象,調(diào)用此方法會拋出異常 if (lock.tryLock()){ try { //處理業(yè)務(wù)邏輯代碼...... }finally { lock.unlock(); } } //lock.isLocked()誤區(qū):此方法不是判斷當(dāng)前線程是否被鎖定,而是判斷該鎖對象當(dāng)前是否被任意線程所持有。 // 所以不能使用if(lock.isLocked()){lock.unlock();}的寫法來釋放鎖。 boolean locked = lock.isLocked(); //當(dāng)前線程釋放鎖對象 lock.unlock(); }
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解SpringBoot Mybatis如何對接多數(shù)據(jù)源
這篇文章主要為大家介紹了SpringBoot Mybatis如何對接多數(shù)據(jù)源實現(xiàn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Mybatisplus集成springboot完成分頁查詢功能(示例代碼)
今天小編給大家分享Mybatisplus集成springboot完成分頁查詢功能,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2023-11-11MyBatis typeAliases元素標(biāo)簽(含注解方式)及其屬性、設(shè)置方式
這篇文章主要介紹了MyBatis typeAliases元素標(biāo)簽(含注解方式)及其屬性、設(shè)置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09