使用redis批量生成主鍵 訂單 Id

2021-09-09 08:03:06 字數 919 閱讀 3591

前言:

在多執行緒、高併發情況下,某些業務場景需要建立唯一標識的主鍵(訂單)id;通常情況下都是乙個請求建立乙個,考慮到效能和qps我們會提前生成好一堆隨機id儲存到redis;從redis進行poll。

1、建立乙個redis佇列服務    

//redis 公共操作服務

@service

public class redispublicservice

public rqueuegetpkqueue()

}

2、建立執行緒進行生成批量id

@component

public class generateprimarykeytask extends thread

public setgetprimaryids(int num)

return ids; }

@postconstruct

public void startup()

logger log = logge***ctory.getlogger(generateprimarykeytask.class);

@suppresswarnings("static-access")

public void run(){

rqueueque=redisservice.getpkqueue();

while(true){

if(que.size()使用方法:

rqueuepkqueue = redisson.getqueue("generator_primary_key");

long key = pkqueue.poll();

以上就是生成批量id的簡單使用~~

之前的csdn找不回來了,決定重新註冊乙個。望支援~~~

redis 生成訂單號學習

題目是生成明天的訂單號,刪除昨天的訂單號,在redis操作,訂單號暫定規則為年月日接五位數。如2018102200001 當乙個訂單生成的時候,去redis去取訂單號,去玩後刪掉。這個取和刪除操作是乙個命令發過去的。不能寫成兩個語句。redis五種結構詳解 redis五種結構詳解 redis設定li...

Redis生成主鍵的優點及與其他生成主鍵方式的對比

使用redis生成主鍵的優點及與其他生成主鍵方式的對比 redis生成id 當使用資料庫來生成id效能不夠要求的時候,我們可以嘗試使用redis來生成id。這主要依賴於redis是單執行緒的,所以也可以用生成全域性唯一的id。可以用redis的原子操作 incr和incrby來實現。可以使用redi...

基於redis分布式主鍵生成

idgenerator idgenerator idgenerator.builder addhost 127.0.0.1 6379,fce3758b2e0af6cbf8fea4d42b379cd0dc374418 addhost 127.0.0.1 7379,1abc55928f37176cb93...