時間:2021-09-27
??拿redis作為備份的數據庫,這事不知道大家怎么看,反正我感覺腦子嗡嗡的,不然想不出來這樣的騷操作。
??記得前單位領導也有過這樣想法,被我拒絕了,他們以為拿到內存中計算快,節省了io從數據庫中讀取到內存的消耗,但是redis是沒有計算能力的,要自己寫方法去實踐,當時我比較懶,堅決不同意,既然數據庫已經幫我們實現了方法,為什么還要自己寫,重復造輪子不是程序員該干的事情。最后前單位采用動態建庫建表將數據抽取成小庫小表的基礎上做求和求平均數中位數。現在想想幸好我沒自己去實現,簡直是深淵。
??現在單位遇到大神,居然也有這樣的想法,而且親自實踐,我感覺他是不信任別人的產品,經常提出問題質疑solr和redis這樣東西準確性,安全性,既然不信任當初為何要選用。還用的比誰都多,前半個月老兄的代碼出現第一個問題,執行太慢,我一查好家伙,查詢一個企業信息在500萬以下注冊資本的取前10條和數據量,這老兄從redis中取200每次 挨個判斷,出一次結果3分鐘。這只是查出來沒辦法改吧。老兄框框修改了三天,之后執行了半個月數據導入后,昨天 redis 終于吃滿服務器,3個節點分別占用內存71G ,72G,74G , 好家伙,好家伙,我驚嘆啊直呼好家伙,單位資源都被一個人用了,還怪服務器變慢了,真是無語啊,這花活玩的真遛,沒辦法加加班幫他處理下服務器上redis的環境,如此折騰到半夜,兩臺機器200G內存用虛擬平臺動態分配下,還有一臺機器只有100G內存不夠了,只能申請購買新的插上,現在回家睡覺了,這些都輪不到我插手,今天機器裝好讓我去調下redis ,二十分鐘后redis啟動了,測試下集群間聯通,掉了的手動添加上,問題是全拋到加內存上了,還好剩下數據不多,跑完內存也夠了,就怕下次數據大量更新后,問題還是沒有解決。 之前和老兄聊過兩句,雖然程序員都不愛說話,但是從簡短的幾句話我了解老兄以為redis可以設置最大內存限制的,又開啟了寫盤的操作,redis可以達到最大值時去寫盤操作,于是我們經過5分鐘百度了下,redis寫盤是對內存的一個緩存備份的作用,當redis故障重啟時加載盤里的數據達到和故障前一樣的數據效果,最大內存限制是對使用的上限做限制了,如果超出要不清理出一些key要不就直接拋出異常OOM。
??早上來老兄說要用hbase,hbase是key-value的確實符合則相對復雜點的結構,我心想多么復雜啊,用solr存,用mysql存都一樣,何必再加一個hbase,也行,反正也是你改,代碼,我也可以學學搭建hadoop那一套東西了,you can you up,反正我不會動你的東西,出了問題依然是你的鍋,我接不住。
最后需要注意兩點,
這個東西
version 2021.3月版本 對就是這個小東西,如果遇到服務器沒有問題,測試連接正常的,這個工具就是無法測試連接上,麻煩您點擊右上角的 紅色的 × ,重新打開,相信我你會成功的。
這個東西 redisclient-win32.x86_64.2.0.jar java版本的 不支持集群,強行連接會提示錯誤MOVED 這個東西不必管。
??常說專業的事交給專業的人,讓redis當數據庫使用的這事你們怎么看。先說我的觀點,我不同意這是個好方法,redis可以存一些字典,菜單欄,導航,token,任務數據啊,這些需要經常使用,數據量不是很大。涉及到計算查找,讓redis當數據庫怎么看都不是一個專業程序員能想的事情。
點波關注 系統搭建(docker)