【问题标题】:aerospike udf -- how lua gets executed? how to run a function only once?aerospike udf -- lua 如何被执行?如何只运行一次函数?
【发布时间】:2016-12-15 21:40:35
【问题描述】:

我们有一个过滤记录,返回地图的 lua 脚本。我有两个问题

  1. aerospike 是否像独立脚本一样执行 lua 脚本(类似于 'lua' )?

  2. 需要使用函数读取文件并缓存——我希望这个函数只调用一次,如何实现?

【问题讨论】:

    标签: lua aerospike


    【解决方案1】:

    Aerospike 在沙盒环境中执行 Lua 脚本。上下文在调用之间重置。因此,您无法读取可以在下次调用期间使用的文件和缓存值。如果您需要向每个调用传递一些信息,请考虑通过参数传递它们。不用说,最好不要将庞大的数据结构作为参数传递。编码/解码它们的开销会很高。

    【讨论】:

    • 谢谢。是的,考虑到开销(如果作为 args 传递),如果提供缓存(如 init 方法)会更好
    • 这是一个艰难的设计选择。即我们是否应该跨调用保留状态。没有正确答案。它们每个都有用例。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    • 1970-01-01
    相关资源
    最近更新 更多