云控脚本函数
EC的实例代码
- 以下是云控实例代码
function main() { //如果自动化服务正常 if (!autoServiceStart(3)) { logd("自动化服务启动失败,无法执行脚本"); exit(); return; } logd("开始执行脚本...{} = {}", ecloud.getDeviceNo(), ecloud.getCloudUrl()); let ts = ecloud.getTaskInfo(); logd(ts); if (ts == null) { logd("没有任务信息"); return; } logd("任务信息:" + JSON.stringify(ts)); logd(ts["taskName"]); if (ts.valueJson) { //获取任务-参数设定中 名称 = haoma 的值 logd("valueJson " + ts.valueJson["haoma"]); //获取任务-参数设定中 名称 = 账号 的值 logd("valueJson " + ts.valueJson['账号']); //打印参数 logd("valueJson " + ts.valueJson);
}
//这里开始编写你要的业务逻辑 clickSettingTask(); sleep(3000) //对数据进行增删改查、追加和移出一条的演示 dataOptDemo()
}
/** * 打开设置按钮 **/function clickSettingTask() { //这里模拟业务逻辑 sleep(4000);
}
function dataOptDemo() { // 按照组名获取数据 let data = ecloud.getData({ "groupName": "账号组2" }); if (data) { logd("账号组2数据: " + JSON.stringify(data)); }
//组名+指定的数据名 获取数据 data = ecloud.getData({ "groupName": "账号组2", "dataName": "001-1112" }); if (data) { logd("账号组2数据 + dataName : " + JSON.stringify(data)); }
// 模拟上传数据 let d = ecloud.addData({ "groupName": "账号组2", "dataName": ecloud.getDeviceNo() + "-111", "content": "xxx" + new Date() }); logd("第一次创建账号组2 数据结果 - " + d)
//模拟更新数据 let update2 = ecloud.updateData({ "groupName": "账号组2", "dataName": ecloud.getDeviceNo() + "-111", "content": "牛逼" + new Date() }); logd("更新 数据结果 - " + d) sleep(3000)
//按照组 + 数据名移出数据 // let remove2 = ecloud.removeData({ // "groupName": "账号组2", // "dataName": ecloud.getDeviceNo() + "-111" // // }); // logd("组+数据 移出 数据结果 - " + remove2)
//按照组 + 数据名移出数据 let remove3 = ecloud.removeData({ "groupName": "账号组2"
}); logd("组 移出 数据结果 - " + remove3)
//再次演示创建数据 let d2 = ecloud.addData({ "groupName": "账号组2", "dataName": ecloud.getDeviceNo() + "-111", "content": "星星xxx" + new Date() }); logd("第二次创建账号组2 数据结果 - " + d2) sleep(3000) //这里演示 进行增加数据 let append1 = ecloud.appendOneLineData({ "groupName": "账号组2", "dataName": ecloud.getDeviceNo() + "-111", "content": "我是要增加的数据1" }); logd("追加数据 数据结果 - " + append1)
// 第二次追加数据 let append2 = ecloud.appendOneLineData({ "groupName": "账号组2", "dataName": ecloud.getDeviceNo() + "-111", "content": "我是要增加的数据2" }); logd("追加数据 数据结果 - " + append2)
//第一次移出数据 let removeline1 = ecloud.removeOneLineData({ "groupName": "账号组2", "dataName": ecloud.getDeviceNo() + "-111", "content": "我是要增加的数据1" }); logd("删除一条 数据结果 - " + removeline1) sleep(3000)}
function autoServiceStart(time) { for (var i = 0; i < time; i++) { if (isServiceOk()) { return true; } var started = startEnv(); logd("第" + (i + 1) + "次启动服务结果: " + started); if (isServiceOk()) { return true; } } return isServiceOk();}
main();基础操作
ecloud.log 发送日志
- 发送日志到云端
- @param msg 日志信息
function main() { ecloud.log("我是CLOUD日志")}
main();ecloud.getDeviceNo 获取机器编号
- 获取机器编号
- @return
{string}机器编码或者null
function main() { var d = ecloud.getDeviceNo() logd(d)}
main();ecloud.getDeviceId 获取设备ID
- 获取设备ID
- 适配EC 11.8.0+
- @return
{string}设备ID或者null
function main() { var d = ecloud.getDeviceId() logd(d)}
main();ecloud.getCloudUrl 获取云控的URL地址
- 获取云控的URL地址
- @return
{string}云控的URL地址或者null
function main() { var d = ecloud.getCloudUrl() logd(d)}
main();ecloud.getTaskInfo 获取当前任务信息
- 取得当前任务的信息,当前任务已经被推送到本地了,直接获取
- @return
{json}对象
function main() { var d = ecloud.getTaskInfo() logd(d)}
main();- 返回值示例
- taskId: 云端主任务ID
- taskName: 云端主任务名称
- scriptId: 脚本的云端ID
- scriptName: 脚本名称
- scriptVersion: 脚本的版本号
- scriptName: 脚本名称
- scriptUrl: 脚本的地址
- valueJson: 附加参数
- 任务信息函数返回的值
{ "taskId": "1", "taskName": "X手浏览", "sort": 3, "scriptId": "1", "scriptName": "X手脚本", "scriptUrl": "http://baidu.com/a.iec", "scriptVersion": "1", "valueJson": { "a1": "test", "a2": "test" }}ecloud.removeScriptFile 清除脚本
- 删除脚本文件保证安全
- 适合版本: EC 6.11.0+
- @return
{bool}true代表成功 false ,代表失败
function main() { var d = ecloud.removeScriptFile() logd(d)}
main();数据共享表操作
- 数据共享 对应的云控数据管理中的数据分组和数据列表功能
- 表结构是固定好的,用户不可更改
ecloud.getData 取得数据
- 通过数据组名或者数据名称取得数据, 前提是要中云控中存在这个数据
- @param map 可扩展参数表
- 例如
{"groupName":"数据组1","dataName":"key"} - key定义: groupName = 数据组名称
- dataName = 数据名称
function main() { var d = ecloud.getData({"groupName": "资源组1", "dataName": "111"}) logd(d)}
main();- 返回值示例
- id: 数据id,不用管这个
- name: 数据的名称
- content: 数据的内容
[ { "id": "", "name": "", "content": "" }]ecloud.getDataPop 取得并删除数
- 通过数据组名或者数据名称取得数据,获取后云控自动删除, 前提是要中云控中存在这个数据
- @param map 可扩展参数表
- 例如
{"groupName":"数据组1","dataName":"key","getType":1,"size":1} - key定义: groupName = 数据组名称
- dataName = 数据名称
- getType = 获取数据方式,1 头部获取,2 尾部获取,3 随机获取
- size = 需要获取的数据条数
- @return
{json数组}空或者JSON数组
function main() { var d = ecloud.getDataPop({"groupName": "资源组1", "dataName": "111", "getType": 1, "size": 10}) logd(d) logd(d[0])}
main();- 返回值示例
["aaa","bbb"]ecloud.addData 新增数据
- 新增一组数据,如果组名存在了,会自动最近数据
- @param map 可扩展参数表
- 例如
{"groupName":"数据组1","dataName":"key","content":"数据"} - key定义:
- groupName = 数据组名称
- dataName = 数据名称
- content=内容
- @return
{bool}true代表成功 false ,代表失败
function main() { var d = ecloud.addData({"groupName": "资源组1", "dataName": "111", "content": "test数据"}) logd(d)}
main();ecloud.updateData 修改数据
-
修改某个组下面的数据,组名和数据名必填
-
@param map 可扩展参数表
-
例如
{"groupName":"数据组1","dataName":"key","content":"数据"}- key定义:
- groupName = 数据组名称
- dataName = 数据名称
- content=内容
-
@return
{bool}true代表成功 false ,代表失败
function main() { var d = ecloud.updateData({"groupName": "资源组1", "dataName": "111", "content": "test数据"}) logd(d)}
main();ecloud.removeData 删除数据
- 删除某个组下面的数据,如果只填写组名,该组下面全部被删除,如果组名和数据名都有,就删除该组下数据名相同的数据
- @param map 可扩展参数表
- 例如
{"groupName":"数据组1","dataName":"key"} - key定义:
- groupName = 数据组名称
- dataName = 数据名称
- @return
{bool}true代表成功 false ,代表失败
function main() { var d = ecloud.removeData({"groupName": "资源组1", "dataName": "111"}) logd(d)}
main();ecloud.appendOneLineData 追加一条数据
- 查询该组下面的数据名的内容,并向内容尾追加一条数据
- @param map 可扩展参数表
- 例如
{"groupName":"数据组1","dataName":"key","content":"数据"} - key定义:
- groupName = 数据组名称
- dataName = 数据名称
- content=内容
- @return
{bool}true代表成功 false ,代表失败
function main() { var d = ecloud.appendOneLineData({"groupName": "资源组1", "dataName": "111", "content": "test数据"}) logd(d)}
main();ecloud.removeOneLineData 删除一条数据
- 查询该组下面的数据名的内容,并删除其中一条与content相等的数据
- @param map 可扩展参数表
- 例如
{"groupName":"数据组1","dataName":"key","content":"数据"} - key定义:
- groupName = 数据组名称
- dataName = 数据名称
- content=内容
- @return
{bool}true代表成功 false ,代表失败
function main() { var d = ecloud.removeOneLineData({"groupName": "资源组1", "dataName": "111", "content": "test数据"}) logd(d)}
main();动态数据接口
- 动态数据 对应的云控数据管理中的数据分组和数据列表功能
- 表结构不固定,用户自己创建,数据自己填充
ecloud.dynamicCreateTable 动态创建更新表
- 创建或者更新动态数据表结构
- 如果columns有增加新的,就自动创建字段,如果少了某个字段,就自动从表中移出字段
- 请谨慎操作表,以免数据丢失!!!
- 适合版本EC 6.16.0+
- @param param 参数
{ "tableName": "我是牛逼的表", "tableNameEn": "niubi_table", "columns": [{ "columnInfo": "姓名", "columnName": "name", "columnSize": 500 }, { "columnInfo": "年龄", "columnName": "age", "columnSize": 500 }, { "columnInfo": "性别", "columnName": "sex", "columnSize": 500 } ] }- 解释:
- tableName: 中文表名,相当于名称,但是不是实际表名
- tableNameEn: 英文表名,真实的表名
- columns: 表的字段数据,字段类型统一是字符串
- columnInfo: 字段的注释信息
- columnName: 字段名称,要用英文,不要有空格和特殊字符
- columnSize: 字段长度
- @return
{string}JSON字符串,执行转换为JSON对象 - 成功返回示例:
{"result":{"data":1}},data代表操作的成功行数 - 失败返回示例:
{"result":{"msg":"我是错误信息"}}
function main() { let crateTable = { "tableName": "我是牛逼的表", "tableNameEn": "niubi_table", "columns": [ { "columnInfo": "姓名", "columnName": "name", "columnSize": 500 }, { "columnInfo": "年龄", "columnName": "age", "columnSize": 500 }, { "columnInfo": "性别", "columnName": "sex", "columnSize": 500 } ] };
let creae = ecloud.dynamicCreateTable(crateTable) logd("=== {}", creae);}
main();ecloud.dynamicQuery 动态查询表数据
- 动态查询数据
- 适合版本EC 6.16.0+
- @param param 参数
{ "pageNumber": 1, "pageSize": 4, "fields": "id,name", "query": "and name like '%我是%'", "tableNameEn": "niubi_table", "search": { "id": "1", "name": "我是name" } }- 解释:
- pageNumber: 页码 从1开始 如果是-1这个字段不生效,这个是使用limit实现
- pageSize: 每页条数 如果是-1这个字段不生效,这个是使用limit实现
- fields: 要查下的字段,可以不写,如果填写就是用英文逗号链接,请看例子
- query: 自定义的查询条件,遵循sql的写法
- order: 排序字段例如
order by id desc,如果order里含有limit,请将 pageNumber 设置为-1 防止多个limit出现 - tableNameEn: 英文的表名
- search:查询条件,和query查询条件二选一,这个查询是等于模式
- search 例子: “id”:“1” 代表查询字段id=1的记录
- @return
{string}JSON字符串,自行转换为JSON对象 - 成功返回示例:
{"result":{"data":[{"name":"3","id":2}]}},data代表返回的数据数组 - 失败返回示例:
{"result":{"msg":"我是错误信息"}}
function main() { let query = { "pageNumber": 1, "pageSize": 2, "fields": "", "query": " and age like '%2%'", "tableNameEn": "niubi_table", "order":"", "search": {} }; let queryr = ecloud.dynamicQuery(query) logd("=== {}", queryr);
//随机查询 let query2 = { "pageNumber": -1, "pageSize": -1, "fields": "", "query": "", "tableNameEn": "niubi_table", "order":"order by rand() limit 1", "search": {} }; let queryr2 = ecloud.dynamicQuery(query2) logd("=== {}", queryr2);}
main();ecloud.dynamicAdd 动态增加表数据
- 动态增加数据
- 适合版本EC 6.16.0+
{ "tableNameEn": "niubi_table", "columns": { "name": "我是牛逼", "age": "niubi_table2", "sex": "niubi_table2" } }- @param param 参数
- 解释:
- tableNameEn: 英文的表名
- columns: 字段和字段值列表
- 例如 “name”: “我是牛逼的表”,代表插入一个数据name=我是牛逼的表
- @return
{string}JSON字符串,自行转换为JSON对象 - 成功返回示例:
{"result":{"data":1}},data代表操作的成功行数 - 失败返回示例:
{"result":{"msg":"我是错误信息"}}
function main() { let add = { "tableNameEn": "niubi_table", "columns": { "name": "我是牛逼的表", "age": "niubi_table2", "sex": "niubi_table2" } }
let queryr = ecloud.dynamicAdd(add) logd("=== {}", queryr);
}
main();ecloud.dynamicUpdate 动态更新表数据
- 动态更新数据
- 适合版本EC 6.16.0+
- @param param 参数
{ "tableNameEn": "niubi_table", "columns": { "name": "我x是牛逼xxxx的表", "age": "niubi_table2", "sex": "niubi_table2" }, "query": "and id=1", "search": { "id": "7" } }- query: 自定义的查询条件,遵循sql的写法
- tableNameEn: 英文的表名
- search:查询条件,和query查询条件二选一,这个查询是等于模式
- search 例子: “id”:“1” 代表查询字段id=1的记录
- columns: 要更新的字段和字段值列表
- 例如 “name”: “我是牛逼的表”,代表把name的指更新为 我是牛逼的表
- @return
{string}JSON字符串,自行转换为JSON对象 - 成功返回示例:
{"result":{"data":1}},data代表操作的成功行数 - 失败返回示例:
{"result":{"msg":"我是错误信息"}}
function main() { let update = { "tableNameEn": "niubi_table", "columns": { "name": "1我x是牛逼xxxx的表", "age": "niubi_table2", "sex": "niubi_table2" }, "query": "and name like '%我%'", "search": { "id": "7" } }
let updater = ecloud.dynamicUpdate(update) logd("=== {}", updater);
}
main();ecloud.dynamicRemove 动态删除表数据
- 动态删除数据
- 适合版本EC 6.16.0+
{ "tableNameEn": "niubi_table", "query": "and name like '%我%'", "search": { "id": "1" } }- @param param 参数
- 解释:
- query: 自定义的查询条件,遵循sql的写法
- tableNameEn: 英文的表名
- search:查询条件,和query查询条件二选一,这个查询是等于模式
- search 例子: “id”:“1” 代表查询字段id=1的记录
- @return
{string}JSON字符串,自行转换为JSON对象 - 成功返回示例:
{"result":{"data":1}},data代表操作的成功行数 - 失败返回示例:
{"result":{"msg":"我是错误信息"}}
function main() { let del = { "tableNameEn": "niubi_table", "query": "and name like '%我%'", "search": { "id": "7" } } let delr = ecloud.dynamicRemove(del) logd("=== {}", delr);}
main();数据缓存接口
- 该接口用于操作redis缓存一般表现为kv形式
- 支持缓存过期,字符串,set集合
- 如果需要支持boolean、整数,可以转换成字符串处理
ecloud.addCache 新增缓存
- 新增一个存放在redis的缓存
- 适合版本 EC 7.5.0+
- @param map 可扩展参数表
- 例如
{"cacheKey":"缓存key","expireTime":300,"dataType":1,"content":"数据"} - key定义:
- cacheKey = 缓存key
- expireTime = 过期时间 单位是秒,为空或者小于等于0代表不过期
- dataType=数据类型,1 字符串,2 set集合用换行符\n分割的
- content=数据,如果dataType=2这个数据将会用换行符\n分割转换为集合存储到redis中
- @return
{bool}true代表成功 false ,代表失败
function main() { //字符串 let stringData = { "cacheKey": "key1", "expireTime": 300, "dataType": 1, "content": "数据" } let addString = ecloud.addCache(stringData); logd("addString {}", addString);
// SET集合 let sss = "s1\ns2\ns3"; let setData = { "cacheKey": "key1", "expireTime": 300, "dataType": 2, "content": sss } let addSet = ecloud.addCache(setData); logd("addSet {}", addSet);}
main();ecloud.getCache 获取缓存
- 获取一个缓存,如果缓存失效了 无数据返回
- 适合版本 EC 7.5.0+
- @param map 可扩展参数表
- 例如
{"cacheKey":"缓存key"} - key定义:
- cacheKey = 缓存key
- @return
{string}服务端返回的JSON字符串,解析result节点即可
function main() { //字符串 let stringData = { "cacheKey": "key1", "expireTime": 300, "dataType": 1, "content": "数据" } let addString = ecloud.addCache(stringData); logd("addString {}", addString);
// SET集合 let sss = "s1\ns2\ns3"; let setData = { "cacheKey": "key1", "expireTime": -1, "dataType": 2, "content": sss } let addSet = ecloud.addCache(setData); logd("addSet {}", addSet);
let data = ecloud.getCache({"cacheKey": "key1"}); logd("data {}", JSON.stringify(data)); //直接输出 logd("data {}", data.result); //分割后 for打印 data.result.split("\n").forEach(function (item) { console.log(item) })
}
main();ecloud.updateCache 更新缓存
- 更新一个redis的缓存
- 适合版本 EC 7.5.0+
- @param map 可扩展参数表
- 例如
{"cacheKey":"缓存key","expireTime":300,"dataType":1,"content":"数据"} - key定义:
- cacheKey = 缓存key
- expireTime = 过期时间 单位是秒,为空或者小于等于0代表不过期
- dataType=数据类型,1 字符串,2 set集合用换行符\n分割的
- content=数据,如果dataType=2这个数据将会用换行符\n分割转换为集合存储到redis中
- @return
{bool}true代表成功 false ,代表失败
function main() { //字符串 let stringData = { "cacheKey": "key1", "expireTime": 300, "dataType": 1, "content": "数据" } let addString = ecloud.addCache(stringData); logd("addString {}", addString); let data = ecloud.getCache({"cacheKey": "key1"}); logd("data {}", JSON.stringify(data)); //直接输出 logd("data {}", data.result);
let up = ecloud.updateCache({"cacheKey": "key1", "content": "test123"})
data = ecloud.getCache({"cacheKey": "key1"}); logd("更新后的数据data {}", JSON.stringify(data)); //直接输出 logd("更新后的数据data {}", data.result);
}
main();ecloud.updateCacheExpire 更新过期时间
- 更新一个redis的缓存过期时间
- 适合版本 EC 7.5.0+
- @param map 可扩展参数表
- 例如
{"cacheKey":"缓存key","expireTime":300} - key定义:
- cacheKey = 缓存key
- expireTime = 过期时间 单位是秒,为空或者小于等于0代表不过期
- @return
{bool}true代表成功 false ,代表失败
function main() { //字符串 let stringData = { "cacheKey": "key1", "expireTime": 300, "dataType": 1, "content": "数据" } let addString = ecloud.addCache(stringData); logd("addString {}", addString); let data = ecloud.getCache({"cacheKey": "key1"}); logd("data {}", JSON.stringify(data)); //直接输出 logd("data {}", data.result); let up = ecloud.updateCacheExpire({"cacheKey": "key1", "expireTime": 0}) logd("up {}", up); let leftTime = ecloud.getCacheExpire({"cacheKey": "key1"}) logd("剩余过期时间 {}", leftTime);}
main();ecloud.getCacheExpire 获取剩余过期时间
- 获取一个redis的key剩余的过期时间
- 适合版本 EC 7.5.0+
- @param map 可扩展参数表
- 例如
{"cacheKey":"缓存key"} - key定义:
- cacheKey = 缓存key
- @return
{long}返回redis剩余的过期时间 负数代表永不过期
function main() { //字符串 let stringData = { "cacheKey": "key1", "expireTime": 300, "dataType": 1, "content": "数据" } let addString = ecloud.addCache(stringData); logd("addString {}", addString); let data = ecloud.getCache({"cacheKey": "key1"}); logd("data {}", JSON.stringify(data)); //直接输出 logd("data {}", data.result); let up = ecloud.updateCacheExpire({"cacheKey": "key1", "expireTime": 0}) logd("up {}", up); let leftTime = ecloud.getCacheExpire({"cacheKey": "key1"}) logd("剩余过期时间 {}", leftTime);}
main();ecloud.removeCache 删除缓存
- 删除一个redis的缓存
- 适合版本 EC 7.5.0+
- @param map 可扩展参数表
- 例如
{"cacheKey":"缓存key"} - key定义:
- cacheKey = 缓存key
- @return
{bool}true代表成功 false ,代表失败
function main() { //字符串 let stringData = { "cacheKey": "key1", "expireTime": 300, "dataType": 1, "content": "数据" } let addString = ecloud.addCache(stringData); logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"}); logd("data {}", JSON.stringify(data)); //直接输出 logd("data {}", data.result);
let del = ecloud.removeCache({"cacheKey": "key1"})
logd("删除 {}", del);
data = ecloud.getCache({"cacheKey": "key1"}); logd("删除后data {}", JSON.stringify(data)); //直接输出 logd("删除后data {}", data.result);}
main();ecloud.appendOneLineCache 追加缓存
- 追加一个redis set的缓存
- 适合版本 EC 7.5.0+
- @param map 可扩展参数表
- 例如
{"cacheKey":"缓存key","content":"数据"} - key定义:
- cacheKey = 缓存key
- content=数据,作为一整行,追加到redis的set集合中
- @return
{string}服务端返回的JSON字符串,解析result节点即可
function main() { //字符串 let stringData = { "cacheKey": "key1", "expireTime": 300, "dataType": 2, "content": "a\nb\nc" } let addString = ecloud.addCache(stringData); logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"}); logd("data {}", JSON.stringify(data)); //直接输出 logd("data {}", data.result);
let inc = ecloud.appendOneLineCache({"cacheKey": "key1", "content": "test"}) logd("==inc {}", inc); inc.result.split("\n").forEach(function (item) { console.log("append --- {}", item) })
}
main();ecloud.removeOneLineCache 删除一行缓存
- 删除一个redis set的缓存元素
- 适合版本 EC 7.5.0+
- @param map 可扩展参数表
- 例如
{"cacheKey":"缓存key","content":"数据"} - key定义:
- cacheKey = 缓存key
- content=数据,作为一整行,追加到redis的set集合中
- @return
{string}服务端返回的JSON字符串,解析result节点即可
function main() { //字符串 let stringData = { "cacheKey": "key1", "expireTime": 300, "dataType": 2, "content": "a\nb\nc" } let addString = ecloud.addCache(stringData); logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"}); logd("data {}", JSON.stringify(data)); //直接输出 logd("data {}", data.result);
let inc = ecloud.appendOneLineCache({"cacheKey": "key1", "content": "test"}) logd("==inc {}", inc); inc.result.split("\n").forEach(function (item) { console.log("append --- {}", item) }) inc = ecloud.removeOneLineCache({"cacheKey": "key1", "content": "test"}) logd("==inc {}", inc); inc.result.split("\n").forEach(function (item) { console.log("append --- {}", item) })}
main();ecloud.incrementCache 自增缓存
- redis的自增长计数功能,每次调用这个key的值都会+1
- 适合版本 EC 7.5.0+
- @param map 可扩展参数表
- 例如
{"cacheKey":"缓存key"} - key定义:
- cacheKey = 缓存key
- @return
{long}返回redis自增后的值
function main() { //字符串 let stringData = { "cacheKey": "key1", "expireTime": 300, "dataType": 2, "content": "a\nb\nc" } let addString = ecloud.addCache(stringData); logd("addString {}", addString);
let data = ecloud.getCache({"cacheKey": "key1"}); logd("data {}", JSON.stringify(data)); //直接输出 logd("data {}", data.result);
let inc = ecloud.incrementCache({"cacheKey": "key2"}) logd("==inc {}", inc); let get = ecloud.getCache({"cacheKey": "key2"}) //这里获取的是字符串 logd("==get {}", get.result);
}
main();ecloud.decrementCache 自减缓存
- redis的自减计数功能,每次调用这个key的值都会-1
- 适合版本 EC 7.5.0+
- @param map 可扩展参数表
- 例如
{"cacheKey":"缓存key"} - key定义:
- cacheKey = 缓存key
- @return
{long}返回redis自减的值
function main() { //字符串 let stringData = { "cacheKey": "key1", "expireTime": 300, "dataType": 2, "content": "a\nb\nc" } let addString = ecloud.addCache(stringData); logd("addString {}", addString); let data = ecloud.getCache({"cacheKey": "key1"}); logd("data {}", JSON.stringify(data)); //直接输出 logd("data {}", data.result); let inc = ecloud.incrementCache({"cacheKey": "key2"}) logd("==inc {}", inc); let get = ecloud.decrementCache({"cacheKey": "key2"}) //这里获取的是字符串 logd("==get {}", get);}
main();ecloud.popPushCache push或者pop命令
- redis push或者pop命令
- 适合版本 EC 7.8.0+
- @param map 可扩展参数表
- 例如
{"cacheKey":"缓存key"} - key定义:
- cmd = 支持 spop,rpush,lpush,lpop,rpop
- cacheKey = 缓存key
- content = push或者pop的内容
- @return
{string}服务端返回的JSON字符串,解析result节点即可
function main() { //字符串 let stringData = { "cacheKey": "key1", "cmd": "lpush", "content": "aaa" } let popPushCachex = ecloud.popPushCache(stringData); logd("popPushCachex {}", popPushCachex); let data = ecloud.getCache({"cacheKey": "key1"}); logd("data {}", JSON.stringify(data));
}
main();