项目基座需要将redis的链接实现,低代码引擎内置了redis对象,可用户操作redis数据库进行操作
Redis 增删改查操作
示例如下:
// 以 String 值为例
import java.util.UUID;
import java.util.concurrent.TimeUnit;
def TEST_KEY = "agent:aop:test:"
def multiValue = [:];
for(i in 1..9) {
multiValue[TEST_KEY + i] = "0" + i;
}
json {
// 判断KEY是否存在
hasKeyRund1 redis.string().hasKey(UUID.randomUUID().toString())
// 保存单个值
setValue0 redis.string().opsForValue().set(TEST_KEY + "0", "00")
// 判断KEY是否存在
hasKeyValue0 redis.string().hasKey(TEST_KEY + "0")
// 保存多个值
multiSetValue redis.string().opsForValue().multiSet(multiValue)
// 检索 key
keys redis.string().keys(TEST_KEY + "*")
keysAll redis.string().keys("*")
// 单个删除
deleteKey redis.string().delete(TEST_KEY + "0")
// 批量删除
multiDeleteKey redis.string().delete(multiValue.keySet())
// 设置有效期(天)
setValue1 redis.string().opsForValue().set(TEST_KEY + "0", "00")
expire redis.string().expire(TEST_KEY + "0", 1 , TimeUnit.DAYS)
// 获取有效期(秒)
getExpire redis.string().getExpire(TEST_KEY + "0", TimeUnit.SECONDS)
// 移除有效期
persist redis.string().persist(TEST_KEY + "0")
// 序列化
dump redis.string().dump(TEST_KEY + "0")
// 改名
rename redis.string().rename(TEST_KEY + "0", TEST_KEY + "0000000")
// 随机返回一个 Key
randomKey redis.string().randomKey()
}
运行结果:
{"hasKeyRund1":false,"setValue0":null,"hasKeyValue0":true,"multiSetValue":null,"keys":["agent:aop:test:5","agent:aop:test:6","agent:aop:test:2","agent:aop:test:3","agent:aop:test:8","agent:aop:test:4","agent:aop:test:9","agent:aop:test:1","agent:aop:test:7","agent:aop:test:0"],"keysAll":["agent:aop:test:1","agent:aop:test:2","agent:aop:test:0","agent:aop:test:8","agent:aop:test:4","agent:aop:test:7","agent:aop:test:5","agent:aop:test:6","agent:aop:test:9","agent:aop:test:3"],"deleteKey":true,"multiDeleteKey":9,"setValue1":null,"expire":true,"getExpire":86399,"persist":true,"dump":[0,2,48,48,7,0,45,-41,81,124,53,-41,-70,74],"rename":null,"randomKey":"agent:aop:test:0000000"}