亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

?Redis 串行生成順序編碼的方法實(shí)現(xiàn)

 更新時(shí)間:2022年04月03日 10:23:48   作者:這個(gè)殺手冷死了  
本文主要介紹了?Redis 串行生成順序編碼的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

場(chǎng)景:針對(duì)于分布式并發(fā)環(huán)境,易出現(xiàn)編碼生成重復(fù)問(wèn)題

方案特點(diǎn):串行操作可避免阻塞加鎖,處理效率更高

具體解決方案

private final static String ENTERPRISE_CODE = "enterpriseCode";

@Resource
private RedisTemplate redisTemplate;

private String generateCode() {
? ? String code;
? ? if (!redisTemplate.hasKey(ENTERPRISE_CODE)) {
? ? ? ? // Mybatis-Plus 查詢數(shù)據(jù)庫(kù)中企業(yè)編碼最大值
? ? ? ? EnterprisePO enterprise = enterpriseService.getOne(
? ? ? ? ? ? Wrappers.<EnterprisePO>lambdaQuery()
? ? ? ? ? ? ? ? .orderByDesc(EnterprisePO::getCode)
? ? ? ? ? ? ? ? .last("limit 1"));
? ? ? ? // 緩存企業(yè)編碼
? ? ? ? if (ObjectUtils.isNotEmpty(enterprise)) {
? ? ? ? ? ? // 如果 key 不存在才 set 避免并發(fā)重復(fù) set,setIfAbsent() 屬于原子操作
? ? ? ? ? ? redisTemplate.opsForValue().setIfAbsent(ENTERPRISE_CODE, Long.valueOf(enterprise.getCode()));
? ? ? ? ? ? // 也可設(shè)置 key 過(guò)期時(shí)間,此處設(shè)置為 1 天
? ? ? ? ? ? // redisTemplate.opsForValue().setIfAbsent(ENTERPRISE_CODE, Long.valueOf(enterprise.getCode()), 1, TimeUnit.DAYS);
? ? ? ? }
? ? }
? ? // 以遞增方式緩存最新編碼
? ? Long number = redisTemplate.opsForValue().increment(ENTERPRISE_CODE, 1L);
? ? // %06d 意為保留 6 位數(shù),不足六位數(shù)字前面補(bǔ) 0
? ? code = String.format("%06d", number);
? ? return code;
}

到此這篇關(guān)于 Redis 串行生成順序編碼的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān) Redis 串行生成順序編碼內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • redis 解決key的亂碼問(wèn)題,并清理詳解

    redis 解決key的亂碼問(wèn)題,并清理詳解

    這篇文章主要介紹了redis 解決key的亂碼問(wèn)題,并清理詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • Redis 的 GeoHash詳解

    Redis 的 GeoHash詳解

    這篇文章主要介紹了Redis 的 GeoHash詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Redis中的配置文件,數(shù)據(jù)持久化,事務(wù)

    Redis中的配置文件,數(shù)據(jù)持久化,事務(wù)

    這篇文章主要介紹了Redis中的配置文件,數(shù)據(jù)持久化,事務(wù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-12-12
  • Redis全量復(fù)制與部分復(fù)制示例詳解

    Redis全量復(fù)制與部分復(fù)制示例詳解

    這篇文章主要給大家介紹了關(guān)于Redis全量復(fù)制與部分復(fù)制的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Redis爬蟲(chóng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 將MongoDB作為Redis式的內(nèi)存數(shù)據(jù)庫(kù)的使用方法

    將MongoDB作為Redis式的內(nèi)存數(shù)據(jù)庫(kù)的使用方法

    這篇文章主要介紹了將MongoDB作為Redis式的內(nèi)存數(shù)據(jù)庫(kù)的使用方法,原理其實(shí)只是將內(nèi)存虛擬作為磁盤,需要的朋友可以參考下
    2015-06-06
  • Redis為什么快如何實(shí)現(xiàn)高可用及持久化

    Redis為什么快如何實(shí)現(xiàn)高可用及持久化

    這篇文章主要介紹了Redis為什么快如何實(shí)現(xiàn)高可用及持久化,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 如何在centos中安裝redis插件bloom-filter

    如何在centos中安裝redis插件bloom-filter

    布隆過(guò)濾器在第一次add的時(shí)候自動(dòng)創(chuàng)建基于默認(rèn)參數(shù)的過(guò)濾器,Redis還提供了自定義參數(shù)的布隆過(guò)濾器,下面這篇文章主要給大家介紹了關(guān)于如何在centos中安裝redis插件bloom-filter的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • redis的主從配置方法詳解

    redis的主從配置方法詳解

    今天為大家介紹下linux系統(tǒng)下redis的主從配置方法,Linux系統(tǒng)下的redis的主從配置方法非常簡(jiǎn)單下面是具體的操作步驟
    2018-09-09
  • Redis不同數(shù)據(jù)類型的命令語(yǔ)句詳解

    Redis不同數(shù)據(jù)類型的命令語(yǔ)句詳解

    這篇文章主要介紹了Redis不同數(shù)據(jù)類型的命令語(yǔ)句,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • Redis教程(十):持久化詳解

    Redis教程(十):持久化詳解

    這篇文章主要介紹了Redis教程(十):持久化詳解,本文講解了Redis提供了哪些持久化機(jī)制、RDB機(jī)制的優(yōu)勢(shì)和劣勢(shì)、AOF機(jī)制的優(yōu)勢(shì)和劣勢(shì)、其它等內(nèi)容,需要的朋友可以參考下
    2015-04-04

最新評(píng)論