django1.11官方文檔 學(xué)習(xí)Python腳本有什么書推薦?
學(xué)習(xí)Python腳本有什么書推薦?BytesthePython是太好的入門教材,唯有100頁多點(diǎn),跟了上面邊思考邊做大致一個(gè)小時(shí)就可以寫出一點(diǎn)東西了(肯定里面的習(xí)題要寫好還是要多花時(shí)間的)之后有得看看
學(xué)習(xí)Python腳本有什么書推薦?
BytesthePython是太好的入門教材,唯有100頁多點(diǎn),跟了上面邊思考邊做大致一個(gè)小時(shí)就可以寫出一點(diǎn)東西了(肯定里面的習(xí)題要寫好還是要多花時(shí)間的)之后有得看看吧PEP8,還有Python的一些Idioms,可以使用老鼠書來隨機(jī)自學(xué)再之后就得看你的興趣了,如果沒有是寫網(wǎng)絡(luò)程序那你就看下Python網(wǎng)絡(luò)編程(有一些出錯(cuò)的)如果是自然語言處理也有或則的書。只不過據(jù)我所知Python本身就外接了很多庫(kù),第三方庫(kù)也很多,Python的官方文檔會(huì)永遠(yuǎn)肯定是懂的時(shí)候應(yīng)該去看的首選。如果沒有想做Web的話,看看python關(guān)於cgi的部分,也也可以然后用Django來想體驗(yàn)幫一下忙。
------------河南新華
django的session是存在數(shù)據(jù)庫(kù)的session表里,這樣會(huì)不會(huì)對(duì)數(shù)據(jù)庫(kù)壓力過大?
有其他解決方案嗎?
相對(duì)于好象中小型應(yīng)用而言,Session入庫(kù)是能滿足項(xiàng)目不需要的,一但應(yīng)用訪問量向上升,那不穩(wěn)定讀寫數(shù)據(jù)庫(kù)中的Session也太容易給系統(tǒng)給予瓶頸。
Session不是最優(yōu)方案?jìng)鹘y(tǒng)的Session是存儲(chǔ)位置在應(yīng)用服務(wù)器中的,像是是以文件形式存儲(chǔ)位置在服務(wù)器硬盤中,這會(huì)可能導(dǎo)致太多Session帶來的磁盤I/O壓力,另外一方面也容易降低集群部署。在那,有人就做出將Session現(xiàn)金存入數(shù)據(jù)庫(kù)來解決的辦法根據(jù)上述規(guī)定問題,實(shí)際上雖然也幫忙解決了問題,但其中一問題也驟然間疾飛,如果說:若是網(wǎng)站并發(fā)過大,也容易會(huì)造成數(shù)據(jù)庫(kù)瓶頸,雖說數(shù)據(jù)庫(kù)查詢也存在需要的時(shí)間的。
我建議你將Session存進(jìn)Redis在實(shí)際生產(chǎn)環(huán)境中,我們基本是都是基于組件Redis來實(shí)現(xiàn)Session會(huì)話保持,這樣的話做的好處有:
也易分布式/集群重新部署時(shí)利用Session互通;
Redis讀寫性能極高,Session頻繁讀寫也不可能給了性能壓力;
利用Redis Key的沒過期功能可輕松壓制Session的快過期;
也可以將每個(gè)用戶的sessionid記錄下了,這樣就也可以查到某個(gè)注冊(cè)用戶所有sessionid,快的利用踹出登錄功能。
以上那是我的觀點(diǎn),是對(duì)這個(gè)問題大家是怎莫平等的眼光的呢?多謝了在下方評(píng)論區(qū)講解~我是科技領(lǐng)域創(chuàng)作者,十年互聯(lián)網(wǎng)從業(yè)經(jīng)驗(yàn),歡迎您關(guān)注我所了解許多科技知識(shí)!
你預(yù)計(jì)的訪問量是多大?遠(yuǎn)遠(yuǎn)離開這個(gè)就又開始談壓力,應(yīng)該是臭不要臉。
去添加一個(gè)內(nèi)存數(shù)據(jù)庫(kù)保存到session,是可以加快速度,但服務(wù)器宕機(jī)session就全沒。
也也可以自己寫個(gè)中間件處理,Django的文檔里寫有怎么寫中間件,學(xué)習(xí)編程文檔都不可能看的話,那我真沒什么辦法。
做數(shù)據(jù)庫(kù)的ha又是也可以的。
建議使用memcached來能保存session這種跟數(shù)據(jù)庫(kù)相似,當(dāng)然了因?yàn)槭莾?nèi)存存取的,性能也要比數(shù)據(jù)庫(kù)好多了。但存進(jìn)memcached中的數(shù)據(jù)都必須序列化,效率低;memcached服務(wù)器一死,所有session全丟。
也可以terracotta來能保存session跟memcached相似,但數(shù)據(jù)不是需要序列化,而且是Find-GrainedChanges,性能更好。配置對(duì)那個(gè)的應(yīng)用幾乎藍(lán)色透明,損壞程序甚至不用什么做任何修改。并且terracotta本身支持HA