open-match的redis数据

本文介绍Google开源游戏匹配框架OpenMatch如何使用Redis存储玩家数据。详细解释了playerID、playerID.properties及indices等键值的用途,展示了玩家数据的JSON结构与排序集的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值