欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

數(shù)據(jù)庫流水號生成有什么好的方案

黃文隆2年前15瀏覽0評論

數(shù)據(jù)庫流水號生成有什么好的方案?

開發(fā)中經(jīng)常需要一些流水號,作為編碼保存在數(shù)據(jù)庫中。

1、在當(dāng)前業(yè)務(wù)表上取編碼的最大值,然后加一。當(dāng)有多個(gè)線程同時(shí)取最大值時(shí),則可能取到同一個(gè)數(shù);或者第一個(gè)線程取到號后還沒有保存,另一個(gè)線程也來取號,取到的也是同一個(gè)數(shù),就會(huì)出現(xiàn)重號。如果對整張表加鎖,會(huì)影響效率和并發(fā)性

2、建立一張保存流水號的配置表,保存當(dāng)前編碼的最大值。多個(gè)線程同時(shí)訪問時(shí),也會(huì)出現(xiàn)取到同一個(gè)數(shù)的情況,但是這時(shí)候可以鎖住行數(shù)據(jù),效率比方法1高很多。

3、redis存儲(chǔ),跟數(shù)據(jù)庫差不多的特點(diǎn),只不過比數(shù)據(jù)庫要快,核心是incr和incrby兩個(gè)命令。但要開啟持久化AOF,宕機(jī)后可以恢復(fù)。

綜上所述,實(shí)現(xiàn)數(shù)據(jù)庫流水號要保證唯一、支持高可用、高并發(fā)等業(yè)務(wù)需要。