open-match的redis数据

open-match的redis数据

(金庆的专栏 2018.9)

open-match 是Google的开源游戏匹配服框架。

https://github.com/GoogleCloudPlatform/open-match

匹配中所用到的玩家数据会保存在 redis 中。查看
open-match\internal\statestorage\redis\playerq\playerq.go
可以了解redis保存的数据。

redis中有以下键值。

playerID

玩家ID形如:bfd09c94d646493f834a4abe83a5a68c, 类型为 hash. 有以下字段:

playerID.properties

保存玩家数据的json串。如:

{
    "char.paladin": 1538102377,
    "map.eastworld": 1538102377,
    "mmr.rating": 1740,
    "mode.ctf": 1538102377,
    "timestamp.enter": 1538102377
}

玩家数据的每项值都要求为整数.

indices

set 类型,保存所有玩家数据键。如:

127.0.0.1:6379> smembers indices
1) "timestamp.enter"
2) "map.eastworld"
3) "mmr.rating"
4) "mode.ctf"
5) "char.paladin"

好像没用到。

玩家数据键

timestamp.enter, 类型为 zset.
每个玩家数据键都建立了一个排序集,按该玩家数据值排序,成员为 playerID。

例如:

127.0.0.1:6379> zrange mmr.rating 1 3 WITHSCORES
1) "ef3736ef2f7941f1a159f279703d5f58"
2) "746"
3) "17ca3bf3a2134c2c90cbe48ebc29f9cb"
4) "891"
5) "b6450b311f3f413595e824897015c462"
6) "891"

猜你喜欢

转载自blog.csdn.net/jq0123/article/details/82882078
今日推荐