Articles of lua

错误:ERR值不是来自LUA脚本中的redis.call('zcard','myzset')的整数或超出范围

我有一个lua脚本中的代码,我从node.js运行。 local stats = {}; stats['orders'] = redis.call('zcard','jobs'); return cjson.encode(stats) 这将返回错误: Error: ERR value is not an integer or out of range 但是,当我从CLI运行zcard作业时,会返回一个整数。 任何帮助,将不胜感激。

Lua是一种基于事件的编程语言吗?

是基于Lua事件还是线程? 最近我对Node.js有很多的了解,看来最大的卖点之一就是基于事件的,而不是基于线程的。 什么是Lua?

nodejs和socket.io与lua服务器开发

需要一些关于使用lua编写代码和nodejs&socket.io构build服务器的build议。 我听说lua更快,所以我想在lua写服务器。 和socket.io的websockets。 在我的基本思想中,luvit,nodelua等是nodejs的lua模块。 现在我需要知道哪个模块最适合用lua,nodejs和socket.io构build服务器? 记得我会用mongodb来存储数据。 build议我一个合适的模块! 提前致谢。

分页与Aerospike Nodejs客户端

我有服务器安装与nodejs和Aerospike。 我想实现列出所有在aerospike数据库上的数据的分页。 Aerospike似乎并不支持像limit , orderBy或skip sql查询参数。 使用LList部分解决了这个问题,因为数据默认按键sorting。 也可以使用Aerospike Lua List,我们可以部分实现UDF来使用list.take(number of elements from start) 。 然而,随着时间的推移集合将会变得非常大,OrderBy和Skip变得非常重要,不能通过UDF过滤来有效地实现。 任何build议如何处理这个?

如何连接我的移动应用程序(用lua写的)和我的服务器(用node.js写的)?

我是lua和node js的新手,我试图将我正在使用的移动应用连接到服务器。 问题是它连接到服务器,但我想传递的数据会丢失或不能到达服务器。 对我在做什么有什么不妥的想法? 这是我连接到服务器的lua代码 local function store () local headers = {} headers["Content-Type"] = "application/x-www-form-urlencoded" headers["Accept-Language"] = "en-US" local body = "fname="..fname local params = {} params.headers = headers params.body = body print(body) print(headers) print(params.body) print(params.headers) network.request( "http://192.168.56.2:8888", "POST", networkListener, params ) end local function networkListener( event ) if ( event.isError ) then print( […]

在node.js应用程序和lua应用程序之间共享数据

我有两个应用程序,node-webkit上运行的node.js应用程序和lua应用程序。 我需要在两个应用程序之间按常规间隔传递数据,例如每5到15秒。 node.js应用程序是创build数据的应用程序,而lua应用程序则是消费数据的应用程序。 数据只能走向一个方向。 我应该怎么做数据传输? 我更喜欢json / xml的数据,但实际上它也可以是任何其他格式。 一次移动的数据并不大。 它一次只有十个参数。 我最初的想法是让节点应用程序充当服务器,并通过其余的API来提供数据,并且lua应用程序只是使用LuaSocket或者其他类来读取页面。 但是,如果两个应用程序驻留在同一台机器上,是否有更好的方法来进行传输? 目前lua应用程序正在Windows中运行,但可能会改变。 我的背景是在web开发中,所以在应用程序之间共享数据时我完全失去了。 我也是新来的卢阿。 感谢您的任何答案。

在Lua虚拟机上运行JavaScript有意义吗?

Lua很小,可以很容易地embedded。 目前的JavaScript虚拟机非常庞大,难以集成到现有的应用程序中。 所以不可能编译JavaScript到Lua或Lua字节码? 特别是对于移动应用程序的限制,这似乎是一个很好的select。 能够轻松地将最stream行的脚本语言集成到任何iPhone或Android应用程序将是伟大的。 我对Lua不是很熟悉,所以我不知道这在技术上是否可行。 有了Luvit,有一个活跃的项目试图将Node.js架构移植到Lua。 所以,平静的JavaScript世界离Lua的可能性还有很远的距离。

有没有可能在redis中调用其他lua脚本中定义的lua函数?

我试图声明一个没有本地关键字的函数,然后从另一个脚本调用这个函数,但是当我运行这个命令时,它给了我一个错误。 test = function () return 'test' end # from some other script test() 编辑: 我不敢相信我还没有答案。 我将包括我的设置的更多细节。 我正在使用redis-scripto包的节点将脚本加载到redis中。 这是一个例子。 var Scripto = require('redis-scripto'); var scriptManager = new Scripto(redis); scriptManager.loadFromDir('./lua_scripts'); var keys = [key1, key2]; var values = [val]; scriptManager.run('run_function', keys, values, function(err, result) { console.log(err, result) }) 和lua脚本。 — ./lua_scripts/dict_2_bulk.lua — turns a dictionary table […]

Aerospike NodeJS UDF聚合错误

我创build了一个在AQL中起作用的集合函数: AGGREGATE filter2.check_teamId('123', 0, 1456499994597) ON analytics.tracking WHERE teamId = '123' 这返回结果。 然后我试图在NodeJS中使用相同的UDF: var statement = { aggregationUDF: {module: 'filter2', funcname: 'check_teamId', arg:['123', 0, 1456499994597]} }; var query = client.query('analytics', 'tracking', statement); var stream = query.execute(); 结果是一个看似无意义的错误: { code: 100, message: 'UDF: Execution Error 1', func: 'as_query_aggregate', file: 'src/main/aerospike/aerospike_query.c', line: 903 } 服务器日志状态: Feb 28 […]

Node.js的lua?

我一直在玩node.js(nodejs)过去的一天,这是太棒了。 据我所知,lua没有类似libev和libio的集成,这使得我们几乎可以避免任何阻塞调用,并以asynchronous的方式与networking和文件系统交互。 我正在慢慢地将我的java实现移植到nodejs,但是我感到震惊的是luajit比v8 JavaScript要快得多,而且使用的内存要less得多! 我想象在这样一个环境(非常快速和响应,非常低的内存使用率,很有performance力)写我的服务器将提高我的项目immensly。 对卢亚来说,我不确定这样的事情是否存在。 我会欣赏任何指针。 谢谢