aerospike中使用lua注意点
所属分类 aerospike
浏览量 1699
IAerospikeClient client;
public Object execute(WritePolicy policy, Key key, String packageName, String functionName, Value... args)
throws AerospikeException;
Value 支持复杂类型
基础类型 list map 等
packageName 为 lua脚本名字
譬如 dyyx.lua packageName 为 dyyx
只有全局函数才能被 客户端调用
lua不存在
com.aerospike.client.AerospikeException: Error Code 100: UDF: Execution Error 1
方法找不到
com.aerospike.client.AerospikeException: Error Code 100: function not found
function getInfo(rec)
local map = map()
-- must use map = {} !!! else return null !!!
-- local map = {}
map["version"]=VERSION
return map
end
返回值 必须使用 aerospike 的类型 ,譬如 list map 等
否则返回值为null
注意变量命名 ,避免覆盖
local map = map()
...
local paramMap = map()
Exception in thread "main" com.aerospike.client.AerospikeException: Error Code 100: /opt/aerospike/usr/udf/lua/xxx.lua:62: attempt to call local 'map' (a userdata value)
自定义变量 map 覆盖了 aerospike 的 map 类型
上一篇
下一篇
权益类与固收类基金
lua中pairs和ipairs的区别
lua动态方法调用实例
指数基金的几种形式
线程池要点
员工离职前的9种征兆