Spring整合Redis分布式鎖

2022-09-09 20:03:31 字數 1431 閱讀 5962

1.導包

2.2.6.release

org.springframework.boot

spring-boot-starter-data-redis

$

org.apache.commons

commons-pool2

2.6.2

2.工具類

@slf4j

@component

public

class

redisutils

return

issuccess;

}public

void

del(string... key)

else}}

public

object get (string key)

return

null

; }

}

3.使用

@autowired

private stringredistemplate stringredistemplate;

@autowired

redisutils redisutils;

@scheduled(cron = "*/5 * * ? * *")

public

void

globalstatcache ()

catch

(unknownhostexception e)

//獲取本機ip

string ip =addr.gethostaddress();

//預設上鎖時間為五小時

//此key存放的值為任務執行的ip,

//redis_default_expire_time 不能設定為永久,避免死鎖

boolean lock =redisutils.trylock(rediskey, ip, redis_default_expire_time);

log.info("**********==定時任務開始**********====");

if(lock)

catch

(interruptedexception e)

redisutils.del(rediskey);

log.info("**********==本次定時任務結束**********====");

//三個月

}else

機器上占用分布式鎖,聚類任務正在執行********************===", ip);

return

; }

}

spring整合redis集群配置

pom.xml org.springframework.data spring data redis 1.7.4.release org.slf4j slf4j api 這裡為什麼要排除slf日誌?因為我的框架使用的是log4j,如果有slf,那麼log4j的日誌將不生效。所以要排除。因為sprin...

Spring整合redis方法總結

目的 總結spring總結redis的幾種方法 一 與spring整合成為template 1 properties檔案 redis redis.host 192.168.redis.port 6379 redis.password redis.maxidle 100 redis.maxtotal ...

Spring和Redis整合理解

remote dictionary server redis 是乙個由salvatore sanfilippo寫的key value儲存系統。redis是乙個開源的使用ansi c語言編寫 遵守bsd協議 支援網路 可基於記憶體亦可持久化的日誌型 key value資料庫,並提供多種語言的api。它...