談一談NOSQL的應用,Redis Mongo

2022-01-31 10:24:19 字數 798 閱讀 6798

1.心路歷程

2.坑之一,存list的瓶頸問題

linux版本redis伺服器是16g的記憶體,因為第一次使用redis,並不知道去做壓力測試,不知道瓶頸在哪,然後redis又被網上的人過度神話,以為只要記憶體不用完,就不會有瓶頸,取資料都是秒取,存資料都是秒存。上線兩天,投票明細的key裡的list集合超過10w(list裡面存了投票時間,投票物件id,主鍵id,投票人id),讀取速度出現斷崖式的跌落,從毫秒級變成3秒左右,資料量達到15w後,5秒左右。然後客服就來**了,說使用者說投票太慢了,點一下好久才提示成功,一直轉。(他麼的,我也是第一次,鬼知道redis會這樣),我試著取了下另外乙個key的資料(5w左右),發現還是毫秒級,證明key之間沒有影響,所以當時的想到的解決方案就是,老子分key,差不多就是name_1,name_2,然後另外放個key存當前key的增量,到5w資料就分key,臨時解決投票慢的問題。

總結一下,應該不是條數的問題,和list的長度有關,所以,不要把redis當關係型資料庫使用,能分key就分key,然後做好瓶頸測試(現在必做的事之一)。

3.坑之二,redis的update功能

有沒有大佬告訴我下,redis能不能update..不是先取後改再刪最後增加的那種。。可以直接用的那種。。。可能是我找的幫助類有問題,反正一直沒找到可以直接update的方法。

因為這個問題,和redis本身不能建索引的問題,公司決定弄一台mongodb的伺服器(16g)。

4.總結

現在對redis的應用基本就是佇列,快取,做索引關係,mongo針對線上活動的資料訪問,新功能開發一般也都用mongo做資料庫,後續同步到sqlserver。

談一談教育

今晚和研究生的師兄聊了會天,突然就說到教育的問題,有點感想,就寫下來,算是我對中國教育的一點看法吧。毫無疑問,中國的教育體制存在不少問題。在高中的時候或許還不是那麼明顯 對比起大學來說 上了大學,我才看清了我們教育的一些弊端。我覺得,最大的弊端,在於價值觀的引導問題上。不知道大家有沒和我一樣覺得當今...

談一談裁員

資本寒冬,經濟不景氣,要保持公司運作,可能會涉及到裁員。另外,有些員工的價值觀已經與公司不符,再留用可能會影響團隊和公司的和諧,此時也可能會涉及到裁員。裁員,不是說想裁就能裁的,需要考慮幾個方面 為什麼要裁?是否可以不裁?裁員是否會影響業務程序?裁員是否會付出經濟代價 賠償 裁員是否會負一定的法律責...

談一談C 的事件

c 中事件基於委託,要理解事件要先理解委託,如果覺得自己關於委託不是很了解可以看看我前面寫委託的文章 使用委託時,一般會出現兩種角色 廣播者 發布者 和訂閱者,這是乙個非常常見的模型 using system class program 定義 發布 委託 public delegate void p...