前言:
在多執行緒、高併發情況下,某些業務場景需要建立唯一標識的主鍵(訂單)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...