python 游戲服務(wù)器開發(fā) 1從客戶端收到的數(shù)據(jù)是直接放到緩存當(dāng)中,還是先存到數(shù)據(jù)庫,然后再由數(shù)據(jù)庫同步到緩存?2.當(dāng)對redis緩存當(dāng)中的數(shù)據(jù)進(jìn)行更新 要直接對mysql 數(shù)據(jù)庫進(jìn)行同步更新還是在什么時(shí)候?qū)ζ涓峦奖容^合理?
業(yè)精于勤,荒于嬉;行成于思,毀于隨。
看到的一篇blog
先引用下背景:
“陌陌爭霸的數(shù)據(jù)庫部分我沒有參與具體設(shè)計(jì),只是參與了一些討論和提出一些意見。在出現(xiàn)問題的時(shí)候,也都是由肥龍、曉靖、Aply 同學(xué)判斷研究解決的。所以我對 Redis 的判斷大多也從他們的討論中聽來,加上自己的一些猜測,并沒有去仔細(xì)閱讀 Redis 文檔和閱讀 Redis 代碼。雖然我們最終都解決了問題,但本文中說描述的技術(shù)細(xì)節(jié)還是很有可能與事實(shí)相悖,請閱讀的同學(xué)自行甄別。
在陌陌爭霸之前,我們并沒有大規(guī)模使用過 Redis 。只是直覺上感覺 Redis 很適合我們的架構(gòu):我們這個(gè)游戲不依賴數(shù)據(jù)庫幫我們處理任何數(shù)據(jù),總的數(shù)據(jù)量雖然較大,但增長速度有限。由于單臺(tái)服務(wù)機(jī)處理能力有限,而游戲又不能分服,玩家在任何時(shí)間地點(diǎn)登陸,都只會(huì)看到一個(gè)世界。所以我們需要有一個(gè)數(shù)據(jù)中心獨(dú)立于游戲系統(tǒng)。而這個(gè)數(shù)據(jù)中心只負(fù)責(zé)數(shù)據(jù)中轉(zhuǎn)和數(shù)據(jù)落地就可以了。Redis 看起來就是最佳選擇,游戲系統(tǒng)對它只有按玩家 ID 索引出玩家的數(shù)據(jù)這一個(gè)需求?!?br>連接如下
http://blog.codingnow.com/2014/03/mmzb_redis.html
對數(shù)據(jù)庫操作加鉤子,insert或者update的時(shí)候觸發(fā)更新緩存,delete的時(shí)候觸發(fā)刪除緩存。取的時(shí)候直接取緩存,沒有再取數(shù)據(jù)庫。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號