Skip to main content

云控脚本函数

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.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开始

  • pageSize: 每页条数

  • fields: 要查下的字段,可以不写,如果填写就是用英文逗号链接,请看例子

  • query: 自定义的查询条件,遵循sql的写法

  • 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",
"search": {}
};
let queryr = ecloud.dynamicQuery(query)
logd("=== {}", queryr);
}

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();