python連接mongodb 如何使用Go語言框架進行項目開發(fā)?
如何使用Go語言框架進行項目開發(fā)?項目背景:前端和后端分離,使用RESTAPI通信。后端使用go作為API,gin xorm redis mysql。這是標準分享老板的答案似乎合情合理。不要告訴我們是
如何使用Go語言框架進行項目開發(fā)?
項目背景:前端和后端分離,使用RESTAPI通信。
后端使用go作為API,gin xorm redis mysql。這是標準
分享老板的答案似乎合情合理。
不要告訴我們是否使用redis。你必須告訴我們你為什么要使用redis。沒有redis的業(yè)務(wù)怎么了?世界上沒有免費的午餐。如果不直接使用頭部緩存/NoSQL,可能會帶來越來越嚴重的問題。
單個數(shù)據(jù)庫的最大優(yōu)點是易于實現(xiàn)事務(wù),并由數(shù)據(jù)庫本身保證。舉個簡單的例子,要下訂單,需要扣除庫存并插入訂單條目。如果inventory和order都是數(shù)據(jù)庫表條目,那么這個事務(wù)是無可挑剔的。如果庫存在redis中,訂單條目是mysql,通常需要先寫redis,成功后再寫數(shù)據(jù)庫。如果您寫數(shù)據(jù)庫失敗,需要回滾redis,如果由于網(wǎng)絡(luò)或其他原因回滾失敗,將再扣減一個存貨。不要認為這些事情很容易解決。事務(wù)處理的復雜性遠遠超出您的想象。例如,當您編寫mysql時,您在提交時就失去了連接。你無法判斷提交是成功還是失敗。你的redis是不是在倒退?
因此,當您引入一個新層時,您必須弄清楚您必須使用cache/NoSQL的目的以及您可以接受的一致性模型。否則,你就要出丑了。
有些“上古”程序員一直堅持反對使用redis怎么辦?
我最近剛結(jié)束圍棋。我有點上癮了。我已經(jīng)做了10年javaer了。讓我們談?wù)勎覀€人對這三種語言的理解。Go語言有幾個獨特的特性,完美的支持跨平臺并發(fā)的垃圾收集,編譯速度快。所以Go有很多優(yōu)點。未來的許多應(yīng)用程序都傾向于去,尤其是它的協(xié)同程序概念,它釋放了多核處理器的能力。我對未來的發(fā)展持樂觀態(tài)度。當然,Java有一個非常完整的生態(tài)系統(tǒng)。目前,構(gòu)建大規(guī)模復雜系統(tǒng)是必不可少的。很多大數(shù)據(jù)框架都是基于Java的Java.python文件那爬蟲呢,機器學習,人工智能領(lǐng)域有很多成熟的框架庫,如果從事機器學習,也要向他學習