Matchvs多种数据存储接口对比分析
Matchvs 给开发者提供了三种存储接口:用户数据存储、全局数据存储、哈希存储。
三种数据存储的特点及对比如下:
- 用户数据存储,存储用户数据,只有用户自己有增、删、改、查自己数据的权限
- 全局数据存储,推荐在 gameServer 里使用,存储游戏全局数据。客户端也可以使用。
- 哈希存储,数据操作会校验userID,但用户之间可以修改和查看数据。
存储限制
每个游戏通过各种存储接口所存的数据总容量不可以超过5G,如果超过,服务端会返回对应错误。
域名
Matchvs 环境分为测试环境(alpha)和 正式环境(release),所以在使用http接口时,需要通过域名进行区分。使用正式环境需要先在官网控制台将您的游戏发布上线。
alpha环境域名:alphavsopen.matchvs.com
release环境域名:vsopen.matchvs.com
存用户数据
存储接口 : wc5/setUserData.do
开发者可以通过调用该接口将用户自定义的数据存储至服务器。
http://alphavsopen.matchvs.com/wc5/setUserData.do?gameID=200660&userID=21023&dataList=[
{"key":"Johnuser", "value":"Smith"}]&sign=f6c15ebd1957a7616781b20fc150f4aa
注意: 每个value的长度上限为255字符,如果长度超过255,Matchvs 在存储时会忽略255后的字符内容。存储上限为每个游戏5G,如果超过5G,会返回对应错误。
可以调用setUserData实现增量存储。为避免特殊字符影响,存储前,建议开发者最好将字符串解码成二进制再用UrlEndcode编码后存储。
参数名 | 说明 |
---|---|
gameID | 游戏ID |
userID | 用户ID |
dataList | 自定义存储json数组,包括字段的key和value |
sign | 见下方sign获取方法2 |
返回数据示例如下:
{"data": "success","status": 0
}
取用户数据
获取接口 : wc5/getUserData.do
开发者可以通过调用该接口获取用户自定义存储的数据。
http://alphavsopen.matchvs.com/wc5/getUserData.do?gameID=200660&userID=21023&keyList=[
{"key":"Johnuser"}]&sign=f6c15ebd1957a7616781b20fc150f4aa
注意: 存储前,如果将字符串解码成二进制再用UrlEndcode编码后存储,对应的取出时应用UrlDecode进行解码后显示
参数名 | 说明 |
---|---|
gameID | 游戏ID |
userID | 用户ID |
keyList | 需要取的数据对应的键列表 |
sign | 见下方sign获取方法2 |
返回数据示例如下:
{"data": {"dataList": [{"key": "Johnuser","value": "Smith"}]},"status": 0
}
删用户数据
删除接口 : wc5/delUserData.do
开发者可以通过调用该接口删除用户自定义存储的数据。
http://alphavsopen.matchvs.com/wc5/delUserData.do?gameID=200660&userID=21023&keyList=[
{"key":"Johnuser"}]&sign=f6c15ebd1957a7616781b20fc150f4aa
注意: 支持一次删除多条数据
参数名 | 说明 |
---|---|
gameID | 游戏ID |
userID | 用户ID |
keyList | 需要删除的数据对应的键列表 |
sign | 见下方sign获取方法2 |
返回数据示例如下:
{"data": "success","status": 0
}
存全局数据
存储接口 : wc5/setGameData.do
开发者可以通过调用该接口将全局自定义的数据存储至服务器。
http://alphavsopen.matchvs.com/wc5/setGameData.do?gameID=200660&userID=21023&dataList=[
{"key":"Johnuser", "value":"Smith"}]&sign=0c2c2df5949f498afd307e8783bb1f3c
注意: 每个value的长度上限为255字符,如果长度超过255,Matchvs 在存储时会忽略255后的字符内容。存储上限为每个游戏5G,如果超过5G,会返回对应错误。
可以调用setGameData实现增量存储。为避免特殊字符影响,存储前,建议开发者最好将字符串解码成二进制再用UrlEndcode编码后存储。
参数名 | 说明 |
---|---|
gameID | 游戏ID |
userID | 用户ID |
dataList | 自定义存储json数组,包括字段的key和value |
sign | 见下方sign获取方法3 |
返回数据示例如下:
{"data": "success","status": 0
}
取全局数据
获取接口 : wc5/getGameData.do
开发者可以通过调用该接口获取用户自定义存储的数据。
http://alphavsopen.matchvs.com/wc5/getGameData.do?gameID=200660&userID=21023&keyList=[
{"key":"Johnuser"}]&sign=0c2c2df5949f498afd307e8783bb1f3c
注意: 存储前,如果将字符串解码成二进制再用UrlEndcode编码后存储,对应的取出时应用UrlDecode进行解码后显示
参数名 | 说明 |
---|---|
gameID | 游戏ID |
userID | 用户ID |
keyList | 需要取的数据对应的键列表 |
sign | 见下方sign获取方法3 |
返回数据示例如下:
{"data": {"dataList": [{"key": "Johnuser","value": "Smith"}]},"status": 0
}
删全局数据
删除接口 : wc5/delGameData.do
开发者可以通过调用该接口删除全局自定义存储的数据。
http://alphavsopen.matchvs.com/wc5/delGameData.do?gameID=200660&userID=21023&keyList=[
{"key":"Johnuser"}]&sign=0c2c2df5949f498afd307e8783bb1f3c
注意: 支持一次删除多条数据
参数名 | 说明 |
---|---|
gameID | 游戏ID |
userID | 用户ID |
keyList | 需要删除的数据对应的键列表 |
sign | 见下方sign获取方法3 |
返回数据示例如下:
{"data": "success","status": 0
}
存哈希
存储接口 : wc5/hashSet.do
开发者可以通过调用该接口将自定义的数据存储至服务器。
http://alphavsopen.matchvs.com/wc5/hashSet.do?gameID=102003&userID=21023&key=1&value=a&sign=68c592733f19f6c5ae7e8b7ae8e5002f
注意: 每个value的长度上限为255字符,如果长度超过255,Matchvs 在存储时会忽略255后的字符内容。存储上限为每个玩家1000条,如果超过1000条,会返回对应错误。
可以调用hashSet实现增量存储。为避免特殊字符影响,存储前,建议开发者最好将字符串解码成二进制再用UrlEndcode编码后存储。
参数名 | 说明 |
---|---|
gameID | 游戏ID |
userID | 用户ID |
key | 自定义存储字段编号 |
value | 自定义存储字段的值 |
sign | 见下方sign获取方法1 |
返回数据示例如下:
{"code": 0,"data": "success","status": 0}
取哈希
取接口:wc5/hashGet.do
开发者可以通过调用该接口获取存储在服务器的自定义数据。
http://vsopen.matchvs.com/wc5/hashGet.do?gameID=102003&userID=21023&key=1&sign=b0244f7ed1d433975512a8f6c2ba4517
注意 存储前,如果将字符串解码成二进制再用UrlEndcode编码后存储,对应的取出时应用UrlDecode进行解码后显示
参数名 | 说明 |
---|---|
gameID | 游戏ID |
userID | 用户ID |
key | 自定义存储字段键值 |
sign | 见下方sign获取方法1 |
返回数据示例如下:
{"code": 0,"data": "this is my data","status": 0
}
sign值获取方法-用户
1. 按照如下格式拼接出字符串:
appKey&gameID=xxx&userID=xxx&token
appKey
为您在官网配置游戏所得token
通过用户注册请求获取
2. 计算第一步拼接好的字符串的MD5
值,即为sign
的值。
sign值获取方法-全局
1. 按照如下格式拼接出字符串:
appkey&gameID=xxx&userID=xxx&appSecret
appKey和appSecret
为您在官网配置游戏所得
2. 计算第一步拼接好的字符串的MD5
值,即为sign
的值。
sign值获取方法-哈希
1. 按照如下格式拼接出字符串:
appKey¶m1=value1¶m2=value2¶m3=value3&token
appKey
为您在官网配置游戏所得param1、param2、param3
等所有参数,按照数字0-9
、英文字母a~z
的顺序排列例 : 有三个参数
gameID
、userID
、key
,则按照appkey&gameID=xxx&key=xxx&userID=xxx&token
的顺序拼出字符串。token
通过用户注册请求获取
2. 计算第一步拼接好的字符串的MD5
值,即为sign
的值。
Matchvs多种数据存储接口对比分析相关推荐
- Python数据特征分析-对比分析
Python数据特征分析-对比分析 对比分析 1.绝对数比较 → 相减 生成数据 折线图比较 柱状图比较 柱状图堆叠图比较 差值折线图比较 2.相对数比较 → 相除 结构分析 生成数据 计算额度占比 ...
- NAR:gcMeta——全球微生物组数据存储和标准化分析平台
文章目录 gcMeta全球微生物组数据存储和标准分析平台 导读 摘要 正文 图1.用户数据管理.分析及发布流程 图2.数据库结构 表1.平台内置工具 图3.用户界面展示 图4.gcMeta的工作流程 ...
- android 存储方式简书,Android的多种数据存储方式
1. 简介 作为一个完整的应用程序,数据存储操作是必不可少的.现在Android的离线缓存就是通过网络良好状态时将从服务器收到的数据保存到本地.Android系统中主要提供了3种方式进行数据存储,分别 ...
- Android几种数据存储的对比(MMKV、DataStore、SharedPreference)
MMKV Github地址:https://github.com/Tencent/MMKV MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf ...
- 机器学习之数据探索——数据特征分析(对比分析与统计量分析)
在数据探索工作中,作为数据特征分析的角度,对比分析.统计量分析同样是发掘数据间关系与数据特征的重要渠道. 1 对比分析 对比分析是指把两个相互联系的指标进行比较,从数量上展示和说明研究对象规模的大小, ...
- 初学数据挖掘——数据探索(三):数据特征分析之对比分析
一.对比分析: 对比分析是将两个相互联系的指标进行比较,从数量上展示和说明研究对象的各种关系(规模的大小.水平的高低.速度的快慢等)是否协调.分析其中的差异,从而揭示这些事物代表的发展变化情况以及变化 ...
- 数据特征分析:对比分析
文章目录 1.绝对数比较(相减) 2.相对数比较(相除) 1.结构分析 2.比例分析 3.空间比较分析(横向对比分析) 4.动态对比分析(纵向对比分析) 对比分析 → 两个互相联系的指标进行比较 绝对 ...
- 大数据和数据中心的对比分析
数据中心智能软件供应商CIRBA公布其效率和风险都在CIRBA6 1版上部署.CIRBA的效率和风险仪表盘包含了效率和频谱风险,提供了数据中心在环境上主机和虚拟机或客户独特的供应水平状态的视觉表现. ...
- NFS、GFS、NAS文件存储服务对比分析
<一>NFS NFS 是Network File System的缩写,中文解释是网络文件系统,它是FreeBSD支持的文件系统中的一种,它容许网络中的计算机之间经过TCP/IP网络共享资源 ...
最新文章
- 用 GDI 操作 EMF 文件[2]: PlayEnhMetaFile、DeleteEnhMetaFile
- 【 FPGA 】UltraFast设计方法学:时序收敛之时序约束基本准则
- python常见函数
- order one question for the 4e4 exploitation
- docker ctr crictl命令对比图
- flask-mail异步发送邮件_.NET Core使用FluentEmail发送邮件
- Installshield获取安装包版本的系统变量是IFX_PRODUCT_VERSION
- Win11手机应用大改!全新界面来袭
- 应用性能问题解决实际案例
- THINKPAD T420(4180J4C)还是THINKPAD T420(4180PLC)好?
- cmd windows 命令sleep_最实在的9个黑客命令!确定不学习下?
- latex 基本用法(二)—— 矩阵(增广矩阵、长虚线)
- 数据结构(C语言版本)
- Windows 10 让所有程序默认为“以管理员身份运行”并且取消“确认”按钮
- 智能网联汽车云控系统第5部分:平台服务场景规范
- css选择器的权值与优先规则
- https://download.csdn.net/download/dsj27/7105355
- Python---20行代码爬取斗鱼平台房间数据(下)
- MySQL自动删除指定时间以前的记录
- 基于Java的冒泡排序法