Aerospike可以用lua在服务端创建自定义函数,可以提高服务端的操作效率,使用自定义函数的前提上对lua语法有个基本的了解。
如下是创建的UDF,主要的作用就是判断一个用户的key是否存在,不存在则创建新的key和新的属性;
如果key存在则判断intt属性是否存在,判断intt属性的value进行具体的业务存在。
函数定义如下:
local function Split(szFullString, szSeparator) --此方法为Split字符串
local nFindStartIndex = 1
local nSplitIndex = 1
local nSplitArray = {}
while true do
local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex)
if not nFindLastIndex then
nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString))
break
end
nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1)
nFindStartIndex = nFindLastIndex + string.len(szSeparator)
nSplitIndex = nSplitIndex + 1
end
return nSplitArray
end
function updateIntt(rec,appendIntt,sqid)--rec参数为Aeros