最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot redis分布式鎖代碼實(shí)例

 更新時(shí)間:2019年12月28日 14:25:46   作者:小白啊小白,F(xiàn)ighting  
這篇文章主要介紹了springboot redis分布式鎖代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了springboot redis分布式鎖代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

隨著微服務(wù)等分布式架構(gòu)的快速發(fā)展及應(yīng)用,在很多情況下,我們都會(huì)遇到在并發(fā)情況下多個(gè)線程競(jìng)爭(zhēng)資源的情況,比如我們耳熟能詳?shù)拿霘⒒顒?dòng),多平臺(tái)多用戶對(duì)同一個(gè)資源進(jìn)行操作等場(chǎng)景等。分布式鎖的實(shí)現(xiàn)方式有很多種,比如基于數(shù)據(jù)庫、Zookeeper、Redis等,本文我們主要介紹Spring Boot整合Redis實(shí)現(xiàn)分布式鎖。

工具類如下:

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.stereotype.Component;
import redis.clients.jedis.Protocol;
import redis.clients.util.SafeEncoder;

import java.io.Serializable;


@Component
public class RedisUtils {

  @Autowired
  private RedisTemplate redisTemplate;

  public RedisTemplate getRedisTemplate() {
    return this.redisTemplate;
  }

  /**
   * 設(shè)置redis分布式鎖
   * @param key
   * @param value
   * @param expire 鎖過期時(shí)間
   * @return
   */
  public boolean tryLock(final String key, final Serializable value, final long expire){
    boolean isSuccess = (boolean) redisTemplate.execute((RedisCallback) connection -> {
      RedisSerializer valueSerializer = redisTemplate.getValueSerializer();
      RedisSerializer keySerializer = redisTemplate.getKeySerializer();
      Object object = connection.execute("set",keySerializer.serialize(key),valueSerializer.serialize(value), SafeEncoder.encode("NX"),SafeEncoder.encode("EX"), Protocol.toByteArray(expire));
      return null != object;
    });
    return isSuccess;
  }
  //釋放鎖
  public boolean releaseLock(String key){
    return redisTemplate.delete(key);
  }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java攔截器Interceptor和過濾器Filte的執(zhí)行順序和區(qū)別

    Java攔截器Interceptor和過濾器Filte的執(zhí)行順序和區(qū)別

    本文主要介紹了Java攔截器Interceptor和過濾器Filte的執(zhí)行順序和區(qū)別,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • sftp和ftp 根據(jù)配置遠(yuǎn)程服務(wù)器地址下載文件到當(dāng)前服務(wù)

    sftp和ftp 根據(jù)配置遠(yuǎn)程服務(wù)器地址下載文件到當(dāng)前服務(wù)

    這篇文章主要介紹了sftp和ftp 根據(jù)配置遠(yuǎn)程服務(wù)器地址下載文件到當(dāng)前服務(wù)的相關(guān)資料本文給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-10-10
  • Spring Data JPA 復(fù)雜/多條件組合分頁查詢

    Spring Data JPA 復(fù)雜/多條件組合分頁查詢

    本文主要介紹了Spring Data JPA 復(fù)雜/多條件組合分頁查詢的相關(guān)資料。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-04-04
  • java構(gòu)造方法的作用總結(jié)

    java構(gòu)造方法的作用總結(jié)

    在本篇文章里小編給大家整理了關(guān)于java構(gòu)造方法的相關(guān)知識(shí)點(diǎn)以及實(shí)例代碼,有需要的朋友們可以學(xué)習(xí)下。
    2019-07-07
  • 解決maven沒有打包xml文件的問題

    解決maven沒有打包xml文件的問題

    這篇文章主要介紹了解決maven沒有打包xml文件的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • spring的異步執(zhí)行使用與源碼詳解

    spring的異步執(zhí)行使用與源碼詳解

    這篇文章主要介紹了spring的異步執(zhí)行使用與源碼詳解,Spring中通過在方法上設(shè)置@Async注解,可使得方法被異步調(diào)用,需要的朋友可以參考下
    2023-05-05
  • Mybatis-Plus?sum聚合函數(shù)及按日期查詢并求和的方式詳解

    Mybatis-Plus?sum聚合函數(shù)及按日期查詢并求和的方式詳解

    這篇文章主要介紹了Mybatis-Plus sum聚合函數(shù)及按日期查詢并求和,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Spring Cloud Feign性能優(yōu)化代碼實(shí)例

    Spring Cloud Feign性能優(yōu)化代碼實(shí)例

    這篇文章主要介紹了Spring Cloud Feign性能優(yōu)化代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • java編譯器和JVM的區(qū)別

    java編譯器和JVM的區(qū)別

    在本篇文章里小編給大家整理的是一篇關(guān)于java編譯器和JVM的區(qū)別的相關(guān)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • centos7安裝java的多種方式總結(jié)

    centos7安裝java的多種方式總結(jié)

    這篇文章主要給大家介紹了關(guān)于centos7安裝java的多種方式,文中通過實(shí)例代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-01-01

最新評(píng)論

宿松县| 尖扎县| 鲁山县| 彭阳县| 和林格尔县| 海阳市| 攀枝花市| 班戈县| 靖边县| 稷山县| 三江| 海原县| 湖南省| 兴隆县| 通江县| 天柱县| 上虞市| 昌宁县| 娄底市| 台东市| 天镇县| 雷州市| 荃湾区| 买车| 历史| 平罗县| 广汉市| 孟津县| 嵩明县| 通许县| 凤山市| 渝北区| 永修县| 乳山市| 茌平县| 博湖县| 尉氏县| 昭通市| 房产| 筠连县| 从江县|