我将如何去构建Redis中的这些数据?
这里是什么,我想我的数据结构,看起来像一个例子:为了从注册游戏服务器我将如何去构建Redis中的这些数据?
[games]:
[game_1]:
players: 10
maxPlayers: 24
state: "PLAYING"
currentMap: "Example Map"
[game_2]:
players: 0
maxPlayers: 24
state: "LOBBY"
currentMap: "None"
我用Java实现的Redis
(Jedis
)来缓存数据。代理服务器将所有注册的游戏服务器连接在一起,但代理服务器无法中继此类数据。因此,我已经采用了Redis
的方法,并将其集成到所有游戏服务器共享的核心插件中。 lobby
服务器将能够从Redis
访问数据以向玩家显示实时游戏统计数据。我将如何去构建这个?我对Redis
相当陌生,搜索小时数也没有帮助。请简单说明一下。 我希望能够通过方法调用来获取特定游戏的数据,并遍历Redis
数据库中的所有缓存游戏。 (例如游戏:{ “game_1
”, “game_2
”})
一种方式去了解这将是:在哈希
-
Store中的游戏 - 每场比赛的哈希值。哈希键的名字应该是你游戏的标识符,其中的fields-> values应该与你游戏的属性相对应。在Redis的隐语应做到:
HMSET game_1 players 10 maxPlayers 24 state PLAYING currentMap "Example Map"
更新到游戏可以简单地调用
HSET game_1 players 11
接触特定的属性。您可以分别通过
HGET
,HMGET
和HGETALL
来阅读特定游戏的属性,属性或所有属性。-
让所有的游戏都可以通过以下两种方式之一进行:
一个。使用
SCAN
来检索数据库中的密钥名称,并在每个步骤3中调用API。 Pro:不需要额外的维护,con:可能会变慢。b。维护一套包含你的游戏标识符(键名)的组件 - 获取所有游戏,获取该组的内容,并为其每个成员在步骤3中使用API。Pro:获取所有游戏的更好性能,con:需要维护另一个数据结构(Set)。