使用redis特性來建立每日流水號

2021-10-09 14:14:03 字數 2766 閱讀 5660

這裡需求是建立每日的流水號,例如:每向資料庫中新增一條資料,其編號設定為yyyymmdd0001、yyyymmdd0002這樣的格式,日期加後四位為當日流水號,也就是當日第幾個新增的資料。

額、redis的特性就不介紹了,反正本文也不是介紹redis怎麼使用的…

簡而言之,為了顯示自己用過redis而用,哈哈哈

#建立容器的時候報錯warning: ipv4 forwarding is disabled. networking will not work.

#這個錯導致連線不上redis,但是在容器內部docker exec -it redis bash redis-cli能夠使用

#我啟動redis容器的命令

#解決辦法

vim /usr/lib/sysctl.d/00-system.conf

#新增下面這行

net.ipv4.ip_forward=1

#重啟network

systemctl restart network

#刪除錯誤的重啟重新執行啟動redis的命令

docker stop redis

docker rm redis

>

>

org.springframework.bootgroupid

>

>

spring-boot-starter-data-redisartifactid

>

dependency

>

>

>

org.apache.commonsgroupid

>

>

commons-pool2artifactid

>

dependency

>

spring

:redis

:host

: 192.168.16.128

port

:6379

# 連線超時時間(記得新增單位,duration)

timeout

: 10000ms

# redis預設情況下有16個分片,這裡配置具體使用的分片

# database: 0

lettuce

:pool

:# 連線池最大連線數(使用負值表示沒有限制) 預設 8

max-active:8

# 連線池最大阻塞等待時間(使用負值表示沒有限制) 預設 -1

max-wait

:-1ms

# 連線池中的最大空閒連線 預設 8

max-idle:8

# 連線池中的最小空閒連線 預設 0

min-idle

:0

@component

@slf4j

public

class

rediscachetemplate

return l;

}catch

(exception e)

}/**

* @title: expire

* @description: 設定過期時間

* @param key

* @param time

* @return

*/public

boolean

expire

(string key,

long time)

return

true;}

catch

(exception e)

}}

public

class

sequenceutil

int rest = length - len;

stringbuilder sb =

newstringbuilder()

;for

(int i =

0; i < rest; i++

) sb.

(str)

;return sb.

tostring();}}

@springboottest

@slf4j

class

}

解釋一下:用redis:serialnumber:20200409這個作為redis的key去查詢自增值,每次執行加1

redis中的key-value將是這樣:

key value

redis:serialnumber:20200409 0001

redis:serialnumber:20200409 0002

直到下一天key變成了redis:serialnumber:20200410,value則會從0001開始遞增

又因為我設定了redis的過期時間是86400秒 = 1天,所以過期的資料會自動刪除

1 9 使用python來操作redis

1 redis連線 redis連線例項是執行緒安全的,可以直接將redis連線例項設定為乙個全域性變數,直接使用。安裝 pip install redis import redis r redis.redis host licalhost port 6379 decode responses tru...

Redis基礎(一)使用場景和Redis特性

redis的前身是乙個實現高效能佇列功能的資料庫。redis的底層使用ansi c編寫的資料庫。2.1 執行速度 讀寫效能 10萬 次 2.2 支援多種資料型別 基於key value鍵值對的資料結構伺服器。支援多種資料結構 而mysql是基於表的 2.3 支援多種功能 鍵過期功能 實現快取 發布訂...

使用new來建立動態陣列

使用new來建立動態陣列 1 如果程式只需要乙個值,則可能會宣告乙個簡單變數,因為對於管理乙個小型資料物件來說,這樣做比使用new和指標更簡單,儘管給人留下的印象不那麼深刻。通常,對於大型資料 如陣列 字串和結構 應使用new,這正是new的用武之地。例如,假設要編寫乙個程式,它是否需要陣列取決於執...