KV数据包括三部分,KV数据查询、异常情况查询、KV数据回档,在了解3个功能,需要清楚KV存储有一定的存储限制,如果开发者在创作地图时,超过了系统设定的限制,玩家的KV存储数据会存在丢失的风险。因此,开发者应了解KV的限制,在逻辑上避免出现逻辑不够严谨触发限制而读写失败。另外,也可以通过关注KV的异常情况统计或用户客诉 来及时发现和排查问题。
数据表名即存储数据的表头名称,数据KEY值是存储对象,通常情况下大部分开发者以迷你号作为每个用户的唯一存储对象;
KV数据查询支持单项的全量查询,以“ * ”作为全量查询,可查询某用户下的全量数据或某表下面的全部用户(见附图);
通过关注每日的地图的异常次数,开发者可以及时发现的set,get是否存在问题,以及问题究竟严重不严重。
若某次更新后,观察到相应的异常次数数值增大,则可能在更新中存在逻辑问题,需要考虑及时修复或回退,以免造成大规模的数据丢失问题。
可以查询到的有以下错误信息
错误信息 | 对应问题 |
ds_get_failed | KV get 数据失败 |
ds_get_qpm_limit | KV get操作触发QPM限制 |
ds_incr_cd_limit | KV increment操作触发CD限制 |
ds_incr_failed | KV increment 失败 |
ds_incr_qpm_limit | KV increment操作触发QPM限制 |
ds_remkv_cd_limit | KV remove操作触发CD限制 |
ds_remkv_qpm_limit | KV remove操作触发QPM限制 |
ds_set_cd_limit | KV set操作触发CD限制 |
ds_set_qpm_limit | KV set操作触发QPM限制 |
ds_update_cd_limit | KV update操作触发CD限制 |
ds_update_qpm_limit | KV update操作触发QPM限制 |
glb_get_qpm_limit | Global Get K操作触发QPM限制 |
glb_set_qpm_limit | Global Set K操作触发QPM限制 |
init_dsods_failed | 创建 DS/ODS 失败 |
init_dsods_qpm_limit | 创建 DS/ODS 操作触发QPM限制 |
ods_get_failed | ODS get 失败 |
ods_get_qpm_limit | ODS get K操作触发QPM限制 |
ods_get_rank_failed | ODS get排行榜 失败 |
ods_get_rank_qpm_limit | ODS get排行榜操作触发QPM限制 |
ods_incr_cd_limit | ODS increment K操作触发CD限制 |
ods_incr_failed | ODS increment 失败 |
ods_incr_qpm_limit | ODS increment K操作触发QPM限制 |
ods_remove_cd_limit | ODS remove K操作触发CD限制 |
ods_remove_qpm_limit | ODS remove K操作触发QPM限制 |
ods_set_cd_limit | ODS set K操作触发CD限制 |
ods_set_qpm_limit | ODS set K操作触发QPM限制 |
remove_dsods_qpm_limit | 删掉 DS/ODS 操作触发QPM限制 |
若不显示数据,则说明无异常
在确认KV数据存在一定问题,导致逻辑出错或数据丢失后。开发者可以通过“异常数据查询”来判断触发的错误是什么,方便排查或解决问题。
在查询时,需要输入“数据表名”与“数据KEY值”。
当出现的KV逻辑异常而引发的数据丢失的情况时,与用户协商后,可选择通过KV数据回档回档用户数据,当前仅最多保留用户7天内的用户数据,超过7天则无法查询历史数据;