# 云服数据存管理接口 CloudSever
在使用云服数据存接口前需先创建云服数据存管理对象,方法如下:(此处已废弃)
local CloudSever = class.CloudSever.new()
具体函数名及描述如下:
序号 | 函数名 | 函数描述 |
---|---|---|
1 | setOrderDataBykey(...) | 设置排行榜中指定键的数值 |
2 | removeOrderDataByKey(...) | 删除排行榜中指定键的数值 |
3 | getOrderDataByKeyEx(...) | 获取排行榜中指定键的数值 |
4 | getOrderDataIndexValueEx(...) | 获取排行榜中指定排名的数值 |
5 | ClearOrderData(...) | 清理排行榜 |
6 | automaticByKey(...) | 变量自运算 |
7 | getOrderDataIndexAreaEx(...) | 获取排行榜中多条数据 |
8 | getOrderDataValueAreaEx(...) | 获取排行榜中指定值区域的前多少名数据 |
9 | setDataListBykey(...) | 设置表中指定键的值 |
10 | removeDataListByKey(...) | 删除表中指定键的值 |
11 | getDataListByKeyEx(...) | 获取表中指定键的值 |
12 | ClearDataList(...) | 清空表数据 |
13 | getlistCache(...) | 获取表或排行榜当前缓存数据 |
14 | UpdateDataListByKey(...) | 安全更新数据 |
# setOrderDataBykey
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置排行榜中指定键的数值
- 具体使用案例如下:
local libvarname = 'rank_1'
local ret = CloudSever:setOrderDataBykey(libvarname,"key1",1)
if ret == ErrorCode.OK then
print('设置排行榜值成功 k = key1 ,v = 1')
else
print('设置排行榜值失败')
end
# removeOrderDataByKey
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 删除排行榜中指定键的数值
- 具体使用案例如下:
local libvarname = 'rank_1'
local ret = CloudSever:removeOrderDataByKey(libvarname,"key1")
if ret == ErrorCode.OK then
print('删除排行榜数据成功')
else
print("删除排行榜数据失败")
end
# getOrderDataByKeyEx
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取排行榜中指定键的数值
- 具体使用案例如下:
local callback = function (ret,k,v,ix) -- 返回结果不一定有排名
if ret == ErrorCode.OK then
if ix then
print('返回数据成功 键= '..k..' 值='..v..' 排名='..ix )
else
print('返回数据成功 键= '..k..' 值='..v)
end
else
if ret == 2 then --=不存在数据
print('数据不存在')
else
print('获取失败')
end
end
end
local libvarname = 'rank_1'
local ret = CloudSever:getOrderDataByKeyEx(libvarname,"key1",callback)
if ret == ErrorCode.OK then
print('请求排行榜数据成功')
else
print("请求排行榜数据失败")
end
# getOrderDataIndexValueEx
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取排行榜中指定排名的数值
- 具体使用案例如下:
local callback = function (ret,k,v,ix)
if ret == ErrorCode.OK then
print('返回数据成功 键= '..k..' 值='..v..' 排名='..ix )
else
if ret == 2 then --=不存在数据
print('数据不存在')
else
print('获取失败')
end
end
end
local libvarname = 'rank_1'---4
local ret = CloudSever:getOrderDataIndexValueEx(libvarname,1,callback) -- 请求第1名的数据
if ret == ErrorCode.OK then
print('请求排行榜数据成功')
else
print("请求排行榜数据失败")
end
# ClearOrderData
- 参数及类型:
- libvarname:
string
排行榜变量设计名
- libvarname:
- 返回值及类型:
- 该方法的主要作用: 清理排行榜
- 具体使用案例如下:
local libvarname = 'rank_1'
local ret = CloudSever:ClearOrderData(libvarname) -- 清空排行榜
if ret == ErrorCode.OK then
print('清空排行榜值成功')
else
print('清空排行榜值失败')
end
# automaticByKey
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 变量自运算
- 具体使用案例如下:
local libvarname = 'rank_1'
local value = 10
local ret = CloudSever:automaticByKey(libvarname,"key1",value) -- 设置自运算值加10
if ret == ErrorCode.OK then
print('设置排行榜值成功 k = key1 ,v = 1')
else
print('设置排行榜值失败')
end
# getOrderDataIndexAreaEx
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取排行榜中多条数据
- 具体使用案例如下:
local callback = function (ret,value) -- 返回结果不一定有排名
if ret == ErrorCode.OK and value then
for ix, v in pairs(value) do
local txt = '第'.. ix..'名'..'键 = ' ..v.k..'值 = '..v.v
print(txt)
end
end
end
local libvarname = 'rank_1'
local ret = CloudSever:getOrderDataIndexAreaEx(libvarname,-2,callback) -- 请求从大到小排序的前2名的数据
if ret == ErrorCode.OK then
print('请求排行榜数据成功')
else
print("请求排行榜数据失败")
end
# getOrderDataValueAreaEx
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取排行榜中指定值区域的前多少名数据
- 具体使用案例如下:
local callback = function (ret,value)
if ret == ErrorCode.OK and value then
for ix, v in pairs(value) do
local txt = '第'.. ix..'名'..'键 = ' ..v.k..'值 = '..v.v
print(txt)
end
end
end
local libvarname = 'rank_1'
local ret = CloudSever:getOrderDataValueAreaEx(libvarname,-2,50,200,callback) -- 请求值是50 - 200的从大到小排序的前2名的数据
if ret == ErrorCode.OK then
print('请求排行榜数据成功')
else
print("请求排行榜数据失败")
end
# setDataListBykey
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 设置表中指定键的值
- 具体使用案例如下:
local libvarname = 'list_1'
local ret = CloudSever:setDataListBykey(libvarname,"key1.score",1)
if ret == ErrorCode.OK then
print('设置排行榜值成功 k = key1 ,v = 1')
else
print('设置排行榜值失败')
end
# removeDataListByKey
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 删除表中指定键的值
- 具体使用案例如下:
local libvarname = 'list_1'
local ret = CloudSever:removeDataListByKey(libvarname,"key1.score") --获取key1的分数
if ret == ErrorCode.OK then
print('请求删除排行榜数据成功')
else
print("请求删除排行榜数据失败")
end
# getDataListByKeyEx
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 获取表中指定键的值
- 具体使用案例如下:
local callback = function (ret,k,v)
if ret == ErrorCode.OK then
print('获取数据成功 键= '..k..' 值='..v)
else
if ret == 2 then --=不存在数据
print('数据不存在')
else
print('获取失败')
end
end
end
local libvarname = 'list_1'
local ret = CloudSever:getDataListByKeyEx(libvarname,"key1.score",callback) --获取key1的分数
if ret == ErrorCode.OK then
print('请求排行榜数据成功')
else
print("请求排行榜数据失败")
end
# ClearDataList
- 参数及类型:
- libvarname:
string
表变量设计名
- libvarname:
- 返回值及类型:
- 该方法的主要作用: 清空表数据
- 具体使用案例如下:
local libvarname = 'list_1'
local ret = CloudSever:ClearDataList(libvarname)
if ret == ErrorCode.OK then
print('清空表成功')
else
print('清空表失败')
end
# getlistCache
- 参数及类型:
- libvarname:
string
表变量设计名
- libvarname:
- 返回值及类型:
- 该方法的主要作用: 获取表或排行榜当前缓存数据
- 具体使用案例如下:
local libvarname = 'list_1'
local ret,values = CloudSever:getlistCache(libvarname)
if ret == ErrorCode.OK then
print('获取数据成功')
else
print('获取数据失败')
end
# UpdateDataListByKey
- 参数及类型:
- 返回值及类型:
- 该方法的主要作用: 安全更新数据
- 具体使用案例如下:
local callback = function (ret,key,value)
-- ret 0 很遗憾,数据冲突了,
-- 需要根据带回来的最新value进行逻辑处理后返回给底层重试
if ret == 0 then
print("有冲突,这是数据库里最新的值" , value)
--逻辑处理
value = value + 1
--返回给底层重试
return value
-- ret 2 修改成功啦
elseif ret == 2 then
print("成功,更新后的值 " , value)
end
end
local ret = CloudSever:UpdateDataListByKey('list','score',callback)
if ret == ErrorCode.OK then
end