国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

mysql - 在一個(gè)多人共享的文件夾內(nèi), 創(chuàng)建文件夾/文件, 名字重復(fù)加數(shù)字后綴有沒(méi)有好的算法

瀏覽:115日期:2022-06-13 17:28:22

問(wèn)題描述

問(wèn)題解答

回答1:

使用Redis的Bitmap很適合解決這個(gè)問(wèn)題,以“照片”為例

'照片'為key建立bitmap,值為1的bit代表已經(jīng)使用(也不用建立,直接查詢就可以)

查找最左為0的bit的索引:bitpos '照片' 0

找到的索引就是最小的數(shù)字空位

注意:如果多服務(wù)器、多線程并發(fā),則可以考慮使用Redis實(shí)現(xiàn)的分布式鎖,又或者使用watch命令偽代碼如下

if (’OK’.equals(redis.setnx('照片.lock')) { pos = redis.bitpos('照片', 0); redis.setbit('照片', pos, 1); return pos;}回答2:

hash表以文件名做key,自從生成一個(gè)[1..MaxNum]的有序List,MaxNum取一個(gè)你認(rèn)為合理的數(shù)字。同步hash表。每次創(chuàng)建文件時(shí)查詢hash表有沒(méi)有該key,有就list.pop第一值。每次刪文件時(shí),把文件()里的數(shù)字push回listhash表控制大小,超的數(shù)據(jù)可以存儲(chǔ)在文件系統(tǒng)【數(shù)據(jù)庫(kù)等】,每次查詢hash找不到數(shù)據(jù)時(shí),需要去文件系統(tǒng)查找調(diào)用。類似內(nèi)存分頁(yè)緩存機(jī)制。

回答3:

import osdef make_dir(filename,i=1): fullname = ’%s (%s)’ % (filename,i) if not os.path.exists(filename):os.mkdir(filename)return filename if os.path.exists(fullname):i += 1return make_dir(filename,i) else:os.mkdir(fullname)return fullnamefor i in range(3): print(make_dir(’照片’))回答4:

最簡(jiǎn)單的一種想法就是維護(hù)兩組數(shù)據(jù)偽代碼

removeNameArray = {};NameArrayLen = 0;if(removeNameArray.length>0){ name = removeNameArray.pop();}else{ name = name+(NameArrayLen++);}

主站蜘蛛池模板: 成人精品一区二区www | 欧美三级中文字幕 | 日韩精品a在线视频 | 成年人黄色片 | 欧美一级欧美三级在线观看 | 农村寡妇一级毛片免费看视频 | 久久久久免费精品视频 | 香港一级纯黄大片 | 久久99精品九九九久久婷婷 | 绝对真实偷拍盗摄高清在线视频 | 特黄特色三级在线播放 | 香蕉在线观看999 | 韩国日本一级片 | 国产精品久久久久久影院 | 国产成人精品午夜免费 | 成人看的午夜免费毛片 | 国产成人精品无缓存在线播放 | 亚洲日本中文字幕在线 | 亚洲 欧美 成人 | 国产精品高清全国免费观看 | 日韩美女网站在线看 | 日本免费人成黄页在线观看视频 | 国产一区二区三区成人久久片 | 一级特黄色毛片免费看 | 精品亚洲欧美高清不卡高清 | 久久久久99精品成人片三人毛片 | 欧美高清另类自拍视频在线看 | 亚洲毛片免费观看 | 成人网在线免费观看 | 思思久热re6这里有精品 | 中文字幕一区二区三区久久网站 | 国内精品久久久久久久aa护士 | 日本欧美大片 | 亚洲日本高清影院毛片 | 国产在线播放免费 | 欧美一级毛片特黄黄 | 亚洲国产精品一区二区久久 | 精品国产1区 | 福利云| 欧美另类特大 | a级毛片在线看日本 |