redis中set和hset的區(qū)別和使用場(chǎng)景

發(fā)布時(shí)間:2024-02-29
下面由redis教程欄目給大家介紹redis中set和hset的區(qū)別和使用場(chǎng)景,希望對(duì)需要的朋友有所幫助!
redis中存數(shù)據(jù)時(shí),到底什么時(shí)候用 hset 相比于 set 存數(shù)據(jù)時(shí)又有什么不一樣?
set 就是普通的已key-value 方式存儲(chǔ)數(shù)據(jù),可以設(shè)置過(guò)期時(shí)間。時(shí)間復(fù)雜度為 o(1),沒(méi)多執(zhí)行一個(gè) set 在redis 中就會(huì)多一個(gè) key ,hset 則是以hash 散列表的形式存儲(chǔ)。超時(shí)時(shí)間只能設(shè)置在 大 key 上,單個(gè) filed 則不可以設(shè)置超時(shí) 時(shí)間復(fù)雜度我百度了很多文章都說(shuō)是 o(1) 但是我下面給出的參考文章說(shuō)時(shí)間上的時(shí)間復(fù)雜度其實(shí)是 o(n) n 值是單個(gè)hash 上的 filed 個(gè)數(shù),所以 hash 上單個(gè)不適合存儲(chǔ)大量的 filed 并且如果 filed 多了比較消耗cpu,但同時(shí)以 散列表存儲(chǔ)則比較節(jié)省內(nèi)存。
所以在實(shí)際的使用過(guò)程中應(yīng)該使用 set 存儲(chǔ)單個(gè)大文本非結(jié)構(gòu)化數(shù)據(jù) hset 則存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù),一個(gè) hash 存儲(chǔ)一條數(shù)據(jù),一個(gè) filed 則存儲(chǔ) 一條數(shù)據(jù)中的一個(gè)屬性,value 則是屬性對(duì)應(yīng)的值。
例如 數(shù)據(jù)庫(kù)中有一張表 user 包含 id,name,age,sex 4個(gè)屬性,并且有400w條數(shù)據(jù),
id,name,age,sex
1、1,張三,16,1
2、2,李四,22,1
3、3,王五,28,0
4、4,趙六,32,1

如果要整表緩存到 redis 中則使用 hash ,一條數(shù)據(jù)一個(gè)hash 一個(gè)hash 里則包含4個(gè)filed。
hset user_1 id 1 name 張三 age 16 sex 1
hset user_2 id 2 name 李四 age 16 sex 1

這樣存儲(chǔ),如果用戶(hù)的某個(gè)屬性值改變,還可以單個(gè)修改。
例如 吧張三的年齡改為30 則可以使用命令: hset user_1 age 30
在比如如果要緩存應(yīng)用整個(gè)首頁(yè) html ,或則某個(gè)商品的詳情介紹(一般來(lái)說(shuō)商品的詳情介紹是makdown語(yǔ)法的富文本信息,或 html 格式的富文本信息) 則使用 則可以使用 set
又或則 應(yīng)用中的 某個(gè)熱點(diǎn)數(shù)據(jù),都可以使用 set 存儲(chǔ)一大段數(shù)據(jù)。
上一個(gè):華為M7怎么傳送手機(jī)上軟件,華為m7汽車(chē)怎么樣
下一個(gè):win7系統(tǒng)電腦關(guān)機(jī)后自動(dòng)開(kāi)機(jī)解決方法(win7電腦關(guān)機(jī)后自動(dòng)開(kāi)機(jī)怎么解決)

小事故逃逸不同意私了如何處理
電氣觸頭接觸面形式的選擇
快手怎么看自己的作品上沒(méi)上熱門(mén)呀(快手怎么查看自己的作品上沒(méi)上熱門(mén))
臺(tái)式電腦突然開(kāi)不了機(jī)怎么辦的解決方法(臺(tái)式電腦突然開(kāi)不了機(jī)怎么辦的解決方法圖片)
雙卡雙待怎么設(shè)置上網(wǎng),電信雙卡雙待手機(jī)怎么切換網(wǎng)絡(luò)
投標(biāo)文件未密封應(yīng)作何處理?
隧道施工新奧法是什么?
分居兩年后離婚需要提供的證據(jù)有什么
遨游手機(jī)怎么樣,目前市面上最好的三防手機(jī)
貴州省油茶栽培管理技術(shù)詳解
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos