# 云服数据存管理接口 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

  • 参数及类型:
    • libvarname:string排行榜变量设计名
    • key:string获取的键值
    • value:number设置的数值
  • 返回值及类型:
  • 该方法的主要作用: 设置排行榜中指定键的数值
  • 具体使用案例如下:
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

  • 参数及类型:
    • libvarname:string排行榜变量设计名
    • key:string获取的键值
  • 返回值及类型:
  • 该方法的主要作用: 删除排行榜中指定键的数值
  • 具体使用案例如下:
local libvarname = 'rank_1'
local ret = CloudSever:removeOrderDataByKey(libvarname,"key1")
if ret == ErrorCode.OK then
    print('删除排行榜数据成功')
else
    print("删除排行榜数据失败")
end

# getOrderDataByKeyEx

  • 参数及类型:
    • libvarname:string排行榜变量设计名
    • key:string获取的键值
    • callback:function更新回调(function(code/错误码 ...)0成功1失败2数据不存在)
  • 返回值及类型:
  • 该方法的主要作用: 获取排行榜中指定键的数值
  • 具体使用案例如下:
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

  • 参数及类型:
    • libvarname:string排行榜变量设计名
    • index:number获取数据的名次
    • callback:function更新回调(function(code/错误码 ...)0成功1失败2数据不存在)
  • 返回值及类型:
  • 该方法的主要作用: 获取排行榜中指定排名的数值
  • 具体使用案例如下:
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排行榜变量设计名
  • 返回值及类型:
  • 该方法的主要作用: 清理排行榜
  • 具体使用案例如下:
local libvarname = 'rank_1'
local ret = CloudSever:ClearOrderData(libvarname) -- 清空排行榜
if ret == ErrorCode.OK then
    print('清空排行榜值成功')
else
    print('清空排行榜值失败')
end

# automaticByKey

  • 参数及类型:
    • libvarname:string排行榜变量设计名
    • key:string获取的键值
    • value:number每次加的值
  • 返回值及类型:
  • 该方法的主要作用: 变量自运算
  • 具体使用案例如下:
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

  • 参数及类型:
    • libvarname:string排行榜变量设计名
    • icount:number获取数据的条数
    • callback:function更新回调(function(code/错误码 ...)0成功1失败2数据不存在)
  • 返回值及类型:
  • 该方法的主要作用: 获取排行榜中多条数据
  • 具体使用案例如下:
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

  • 参数及类型:
    • libvarname:string排行榜变量设计名
    • icount:number获取数据的条数
    • minvalue:number最小值
    • maxvalue:number最大值
    • callback:function更新回调(function(code/错误码...)0成功1失败)
  • 返回值及类型:
  • 该方法的主要作用: 获取排行榜中指定值区域的前多少名数据
  • 具体使用案例如下:
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

  • 参数及类型:
    • libvarname:string表变量设计名
    • key:string获取的键值
    • value:Any任意值(number
    • string
    • table)
  • 返回值及类型:
  • 该方法的主要作用: 设置表中指定键的值
  • 具体使用案例如下:
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

  • 参数及类型:
    • libvarname:string表变量设计名
    • key:string获取的键值
  • 返回值及类型:
  • 该方法的主要作用: 删除表中指定键的值
  • 具体使用案例如下:
local libvarname = 'list_1'
local ret = CloudSever:removeDataListByKey(libvarname,"key1.score") --获取key1的分数
if ret == ErrorCode.OK then
    print('请求删除排行榜数据成功')
else
    print("请求删除排行榜数据失败")
end

# getDataListByKeyEx

  • 参数及类型:
    • libvarname:string表变量设计名
    • key:string获取的键值
    • callback:function更新回调(function(code/错误码...)0成功1失败2数据不存在)
  • 返回值及类型:
  • 该方法的主要作用: 获取表中指定键的值
  • 具体使用案例如下:
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表变量设计名
  • 返回值及类型:
  • 该方法的主要作用: 清空表数据
  • 具体使用案例如下:
local libvarname = 'list_1'
local ret = CloudSever:ClearDataList(libvarname) 
if ret == ErrorCode.OK then
    print('清空表成功')
else
    print('清空表失败')
end

# getlistCache

  • 参数及类型:
    • libvarname:string表变量设计名
  • 返回值及类型:
  • 该方法的主要作用: 获取表或排行榜当前缓存数据
  • 具体使用案例如下:
local libvarname = 'list_1'
local ret,values = CloudSever:getlistCache(libvarname)
if ret == ErrorCode.OK then
    print('获取数据成功')
else
    print('获取数据失败')
end

# UpdateDataListByKey

  • 参数及类型:
    • libvarname:string表变量设计名
    • key:string更新的键值
    • callback:function更新回调(function(code/错误码...))
  • 返回值及类型:
  • 该方法的主要作用: 安全更新数据
  • 具体使用案例如下:
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
上次更新: 2023/5/10 15:09:30