问题内容: 我正在尝试使用Luaj + Java构建控制器。我有以下java类 以及控制器的以下lua脚本: 理想情况下,我想定义一个控制器(用lua编写),在其中我将保留程序的所有逻辑,并且我希望将该控制器的API公开给我的Java代码。我正在尝试使用以下方法: 我无法将对象传递给LuaValue。如何将Java对象传递给lua脚本? PS:通常,在使用Java和嵌入式脚本时,人们会将功能捆绑在
问题内容: 我正在用Java开发使用Lua脚本的Android游戏。为了执行这些脚本,我将LuaJ与Java的ScriptEngine类一起使用。例如… 但是,Android显然不支持此功能(这与android没有完整的JVM有关,我在某处读过)。有什么方法可以在Android上使用Lua脚本吗?也许有一个LuaJ替代方案?也许有一种直接使用LuaJ编译和执行Lua脚本的方法(尽管我看不到如何)。
问题内容: 我有类似的字符串,我需要将它们按字符分开,然后将两个部分分别分配给一个变量。在Ruby中,我会这样做: 显然,Lua没有这么简单的方法。经过一番挖掘,我找不到一种简短的方法来实现自己的目标。我提到我是Lua的一个新手,我需要在Redis的脚本中使用它(因此,它确实应该很小,如果可能的话,只写一个)。 问题答案: 使用模式匹配: 请注意,这是一个魔术字符,因此必须使用进行转义。
问题内容: 我有一个lua脚本,需要在可变数量的键上调用zunionstore。我正在尝试执行以下代码: 重要的几行是: 生成键列表和实际调用: 但是,执行时出现以下错误: 那么,如何将在lua脚本中计算出的可变数量的键传递给redis.call(“ zunionstore” …)命令? 提前致谢! 问题答案: 我解决这个问题的方法是:
问题内容: 在Redis中,我通过CLI运行Lua脚本,如下所示:- 因此,我的Lua脚本接受4个键和2个参数。 现在,我想在Node.js中运行相同的脚本。 我正在使用此库在我的应用程序中导入Redis。 我没有找到任何有关执行Lua脚本的函数参数的示例。 因此,我只是碰到一些可能起作用的东西。但是似乎没有任何作用。 我的app.js像这样: 我的问题:如何使用node.js执行以下命令,以便它
问题内容: 我有正在考虑迁移到Redis Cluster的Lua脚本 通话时是否应指定完整的键名?还是仅指定标签就可以逃脱? 例如,我只希望通过替代,…等 我有很多键,逻辑也很复杂-有时我最终会 在同一 哈希标签内动态生成键名。 我会通过仅传递哈希标签而不是键名来违反某些规范吗? 问题答案: 我应该指定完整的键名吗 这是推荐的做法。 我会违反一些规格吗 不,规范没有声明键名称需要显式传递。将/ 机
问题内容: 我在Redis上使用Lua,想比较两个带符号的64位数字,这些数字存储在两个8字节/字符的字符串中。 如何使用Redis中可用的库进行比较? http://redis.io/commands/EVAL#available- libraries 我想知道并检查。我认为这可能涉及为每个64位int提取两个32位数字,并对它们进行一些巧妙的数学运算,但是我不确定。 我有一些代码可以使这一过程
问题内容: 我有一个带代码块的lua脚本,如下所示: 当我尝试使用以下命令KEYS和ARGV运行脚本时:- 错误:- 问题答案: TL; DR表示由返回的值,用于与JSON的值进行比较。 说明:Lua 在表中用于标记已删除的条目。如果将JSONinc 转换为Lunatic ,则解码的对象将损坏。因此,cjson lib使用轻量级的userdata类型表示/ 。 您的“ call_data”具有一个
问题内容: 我正在构建我的第一个Redis服务器端脚本( 用于调试 ),而我缺乏Lua经验使我非常困惑。 本质上来说,我有一个K / V对(包含〜1000个值)的数据集,我想从中列出所有与模式匹配的KEYS。例如在redis-cli中: 基于上面的输出,我想通过执行Lua脚本来返回这些键的总和。目前,我有以下内容 尽管以上脚本可能不正确,但即使单独尝试也会产生以下错误 root @ carlos:
问题内容: 从Redis调用Lua脚本时,可以在两个数组中传递值:KEYS和ARGV。有什么区别?Redis如何处理KEYS数组中的值?如果在我的脚本中必须使用运行时动态生成的密钥怎么办? 问题答案: 您的所有问题都会在页面上得到回答,但是自从您问到…: 有什么区别? 用于传递键名称,而应用于其他任何名称。这不是完全强制执行的(即,大多数情况下您可以将它们混合使用),但如果不遵循,可能会导致潜在的
问题内容: 当我通过redis EVAL运行此代码时,它不会返回任何结果。知道为什么这行不通吗? bug.lua 如果我初始化表,则仅打印该值。 问题答案: 如果您参考Redis 文档 ,则可以看到Redis将Lua表转换为Redis回复所使用的规则: Lua表(数组)-> Redis多批量回复( 如果有的话,将被截断为Lua数组中的第一个nil ) Lua表带有单个ok字段-> Redis状态回
问题内容: 如何获得Redis中嵌入的Lua中的当前日期/时间? 我需要采用以下格式-YYYY-MM-DD,HH:MM:SS 尝试使用os.date(),但无法识别。 问题答案: Redis的Lua沙箱只有少数几个库,并不是其中之一。 您可以像这样从Lua 呼叫Redis : 但是,您将需要找到一种将纪元转换为所需格式的方法,并且还要注意,它将阻止脚本执行任何写操作(因为这是不确定的命令)。 更新
问题内容: 是否可以使一个Redis Lua脚本命中多个数据库?我目前在DB 0中拥有一种类型的信息,而在DB 1中具有另一种类型的信息。我的正常工作流程是基于API调用以及来自DB 0的元信息对DB 1进行更新。 Lua脚本,但无法弄清楚如何打多个数据库。我正在使用redis-py在Python中执行此操作: 由于客户端暗示一个特定的数据库,所以我被困住了。有想法吗? 问题答案: 将相关数据放入
问题内容: 我想在单个调用中使用键列表从Redis获取所有集合。根据文档,Redis为此提供了SSCAN命令,但是由于我使用StackExchange.Redis作为Redis适配器,因此我猜想此命令在此适配器中没有任何此类方法。所以我要寻找两件事: 我期待使用LUA脚本执行SSCAN,但无法在Internet上找到任何此类示例。任何人都可以共享使用多个SET键从LUA调用SSCAN的方法。 同样
问题内容: 我正在设置将使用Redis和APCu的PHP标记的缓存实现。由于APC是键值存储,因此我将使用Redis进行键标记关系,并与APC上的每个Web服务器进行同步。 我当前的问题仅涉及Redis。可能您知道实现,但需要明确说明:键可以具有与之关联的标签。在以后的某个时间点,您可以通过某些标签删除缓存的密钥。有很多键,但没有那么多标签,并且键和标签之间存在n对n的关系。 由组成: 因为设置后