Redis在游戲服務器的用途
Redis是一款強大的工具,優點是響應微秒級,有廣播/訂閱功能,支持事務(非集群),支持隊列、哈希表和哈希集合,缺點是需要手動管理索引,事務不可回滾,原生集群不支持事務等高級功能。
游戲服務器中主要有如下四類用途:
1、在游戲服務器中永久存儲
因為Redis支持持久化(rdb和aof),所以在《江湖X》內測的時候,事情還是比較簡單的,我們把所有數據全部丟在Redis,每天日活500,怎么弄都行。(《江湖X》是《漢家江湖》的前作,技術路線一脈相承)。并且,我們也沒有使用阿里云的Redis,而是直接在實例ECS上自己搭建的(說搭建有點抬舉自己,下載雙擊bat文件就好了)。
這個時候,我們主要使用了Redis的哈希表和哈希集合。《漢家江湖》客戶端提交到服務器的玩家數據,是幾千張哈希表,我們直接全部原樣存進了Redis,然后把一個玩家的所有哈希表的key名,存進一個玩家的哈希集合,作為索引。如下圖所示,這是一個玩家的索引集合,IT=Index Table。
2、在游戲服務器中數據緩存
3、在游戲服務器中實時消息通知
4、在游戲服務器中消息隊列【艾娜小編】