新聞中心
有些程序員一直堅(jiān)持反對(duì)使用redis怎么辦?
一個(gè)非常好的問(wèn)題。我是工作多年的Web應(yīng)用架構(gòu)師,來(lái)回答一下這個(gè)問(wèn)題。歡迎關(guān)注我,了解更多IT專業(yè)知識(shí)。

成都創(chuàng)新互聯(lián)公司2013年成立,先為佳木斯等服務(wù)建站,佳木斯等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為佳木斯企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
題主沒(méi)有說(shuō)明原因和理由,在實(shí)際項(xiàng)目中可能出現(xiàn)多種場(chǎng)景,不能一概而論。
1,前期預(yù)研項(xiàng)目,Demo演示功能,沒(méi)必要使用
如果原型驗(yàn)證的重點(diǎn)是某一項(xiàng)技術(shù),沒(méi)時(shí)間開(kāi)發(fā)那么完善的系統(tǒng),這時(shí)先不用Redis搭建緩存優(yōu)化性能什么的,是可以接受的。
2,小型單機(jī)項(xiàng)目,功能簡(jiǎn)單,業(yè)務(wù)邏輯單一
功能簡(jiǎn)單的小項(xiàng)目,用戶量少,或者對(duì)運(yùn)行效率沒(méi)那么敏感,為了保持一個(gè)簡(jiǎn)單的系統(tǒng)架構(gòu),方便運(yùn)維管理,倒是不必要引入那么多的依賴服務(wù),也不用占用不必要的服務(wù)器資源。
3,公司內(nèi)部項(xiàng)目,早期開(kāi)發(fā)階段,快速迭代,業(yè)務(wù)需求變化大
有那么一類軟件系統(tǒng),是給公司內(nèi)部自己人用的,各個(gè)部門(mén)老大就是拍腦袋定需求的核心用戶,帶來(lái)的問(wèn)題就是需求改動(dòng)大、開(kāi)發(fā)返工甚至項(xiàng)目取消都有很大的可能性。尤其是在早期開(kāi)發(fā)階段,還沒(méi)有沉淀下來(lái)一個(gè)相對(duì)明確的系統(tǒng)框架,這時(shí)的重點(diǎn)應(yīng)該放在業(yè)務(wù)需求上,不用過(guò)度設(shè)計(jì)技術(shù)架構(gòu)。
4,項(xiàng)目中已經(jīng)使用了其它類似的技術(shù)框架,比如Memcached, MongoDB,等等
Redis是一個(gè)高性能的key-value數(shù)據(jù)庫(kù),常用于搭建緩存系統(tǒng),提高并發(fā)響應(yīng)速度。Redis使用非常普遍,簡(jiǎn)單輕量,部署維護(hù)方便,是很多人使用的第一個(gè)NoSQL數(shù)據(jù)庫(kù),很受歡迎。
類似的技術(shù)解決方案也可以使用其它框架,比如Memcached,MongoDB,不同技術(shù)背景的個(gè)人和團(tuán)隊(duì)有不同偏好,很正常。
一方面我肯定是不支持這些“上古”程序員做法的,但是另外一方面,我也是非常理解他們的想法的。
首先,有些公司的風(fēng)格就是:“可以不干,但是不能犯錯(cuò)”。
我曾經(jīng)在一家央企的 IT 部門(mén)工作,對(duì)此有著深刻的認(rèn)識(shí):你的系統(tǒng)可以一年到頭沒(méi)有什么新功能,幾年不做升級(jí),但是千萬(wàn)不能有生產(chǎn)事故,否則可能真的會(huì)“萬(wàn)劫不復(fù)”,也就是績(jī)效會(huì)低、獎(jiǎng)金會(huì)少,甚至升職無(wú)望。
在這種環(huán)境中工作的大部分老員工,除非是迫不得已,幾乎不會(huì)主動(dòng)去升級(jí)和完善系統(tǒng)的,“能穩(wěn)定運(yùn)行就行了”。
這和眼鏡一樣 需要的時(shí)候 自然就會(huì)去用了 你說(shuō)我就不喜歡戴眼鏡 那可以 要不你就眼前一片模糊自己忍著 要不你就去做手術(shù) 只不過(guò)戴眼鏡是解決你近視問(wèn)題的一種比較簡(jiǎn)單高效又多人用而且成熟的手段而已
分享大佬的回答,似乎很有道理。
不要告訴我們用不用redis,你得告訴我們你為什么想要用redis,不用redis業(yè)務(wù)會(huì)有什么問(wèn)題?天下沒(méi)有免費(fèi)的午餐,不動(dòng)腦子直接上緩存/NOSQL可能會(huì)帶來(lái)更多更嚴(yán)重的問(wèn)題。
單一數(shù)據(jù)庫(kù)最大的好處在于事務(wù)性實(shí)現(xiàn)簡(jiǎn)單,由數(shù)據(jù)庫(kù)自己保證。舉個(gè)簡(jiǎn)單的例子,下訂單需要扣除一個(gè)庫(kù)存,然后插入一條訂單條目,如果庫(kù)存和訂單都是數(shù)據(jù)庫(kù)表項(xiàng)的話這個(gè)事務(wù)是無(wú)懈可擊的,如果庫(kù)存在redis里,訂單條目是MySQL,通常就需要先寫(xiě)redis,成功之后再寫(xiě)數(shù)據(jù)庫(kù),如果寫(xiě)數(shù)據(jù)庫(kù)失敗了還需要回滾redis,如果最后這個(gè)回滾因?yàn)榫W(wǎng)絡(luò)之類的原因失敗了,就會(huì)多扣一個(gè)庫(kù)存。不要以為這些事情很好解決,事務(wù)性處理的復(fù)雜性遠(yuǎn)遠(yuǎn)超過(guò)你的想象,比如說(shuō)還有寫(xiě)MySQL在提交的一瞬間連接斷了這種情況,你都沒(méi)法判斷提交到底成功了還是失敗了,那你的redis是回滾還是不回滾?
所以引入新的層一定要說(shuō)清楚,你為了什么目的一定要用緩存/NOSQL,能接受什么樣的一致性模型,否則就是在胡鬧。
到此,以上就是小編對(duì)于redis怎么輸入命令的問(wèn)題就介紹到這了,希望這1點(diǎn)解答對(duì)大家有用。
文章名稱:redis命令輸入未響應(yīng)如何解決
網(wǎng)站網(wǎng)址:http://www.dlmjj.cn/article/dhigpdo.html


咨詢
建站咨詢
