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

springboot redis分布式鎖代碼實例

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

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

隨著微服務(wù)等分布式架構(gòu)的快速發(fā)展及應(yīng)用,在很多情況下,我們都會遇到在并發(fā)情況下多個線程競爭資源的情況,比如我們耳熟能詳?shù)拿霘⒒顒?,多平臺多用戶對同一個資源進(jìn)行操作等場景等。分布式鎖的實現(xiàn)方式有很多種,比如基于數(shù)據(jù)庫、Zookeeper、Redis等,本文我們主要介紹Spring Boot整合Redis實現(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 鎖過期時間
   * @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);
  }
}

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

相關(guān)文章

最新評論

木兰县| 凯里市| 济南市| 卓资县| 湖北省| 确山县| 麻城市| 正阳县| 江山市| 宜城市| 德化县| 盐边县| 禹州市| 永福县| 淮南市| 张家川| 河东区| 沙雅县| 渝中区| 和林格尔县| 都昌县| 黑龙江省| 海安县| 白银市| 宜君县| 武定县| 灵璧县| 个旧市| 呼玛县| 绵阳市| 曲阳县| 谢通门县| 精河县| 辉县市| 唐山市| 丹巴县| 宁安市| 汶上县| 台东市| 台州市| 新乡市|