当前位置: 首页 > 面试题库 >

LuaSocket,Lua 5.2和Redis

叶声
2023-03-14
问题内容

有没有人能够使它们一起工作?我已经将5.2很好地工作了,它可以找到lua-
redis(redis.lua),但是它无法加载套接字模块,而我似乎无法使用lua(LuaSocket版本2.0.2)。任何人都有任何技巧可以使它正常工作吗?

我尝试过制作luasocket,但是它完全失败了,我认为这是由于我的lua版本5.2。

答案只是恢复到lua 5.1,还是我不知道的另一种解决方法?


问题答案:

与许多Lua库一样,当前版本的LuaSocket不支持Lua
5.2。对于Lua,该版本第二位的更改表示主要版本,并且不维护向后兼容(在某些情况下,通过编译标志重新启用不赞成使用的功能除外)。

Lua 5.1是稳定的,除非您需要5.2中添加的功能,否则没有特别的理由不使用它。

就是说,当前包括LuaSocket在内的许多库都已更新为5.2兼容。如果您决心从源代码和调整Makefile进行编译,请尝试使用此存储库,它是5.2兼容的LuaSocket版本。

请注意,必须使用已LUA_COMPAT_MODULE定义的Lua
5.2构建此版本的LuaSocket才能对其进行编译。您还需要编辑makefile,以适应系统上的正确路径。

再过3-4个月左右,我认为许多通用库将与5.2兼容。但是,我认为除非很小,否则我认为基于5.2的项目还为时过早。将代码向下移植到5.2并不难(特别是如果您熟悉不推荐使用的功能,那么可以避免在5.1中过多依赖它们-
特别是setfenv()and module())。



 类似资料:
  • 问题内容: 我一直在学习redis和node.js。我有两个问题,找不到令人满意的答案。 我的第一个问题是关于在node.js中重用Redis客户端。我找到了这个问题和答案:如何在socket.io中重用Redis连接,但还不足以让我满意。 现在,如果我在连接事件中创建redis客户端,它将为每个连接生成。因此,如果我有2万个并发用户,那么将有2万个Redis客户端。 如果我将其放在连接事件之外,

  • 问题内容: 我们有75台(并且正在不断增长)服务器需要通过Redis共享数据。理想情况下,所有75台服务器都希望通过操作写入Redis中的两个字段。我们预计最终在这两个领域上可能有数百万次的每日写入操作和数 十亿次 的每日读取。此数据 必须 是持久性的。 我们担心,Redis锁定可能会导致多次重试写入操作,而同时尝试增加同一字段的次数。 问题: 在一个非常重的负载下,在一个字段上同时执行多个操作是

  • 问题内容: 我正在使用Redis创建一种算法来声明某个范围内未使用的整数。 此解决方案使用和,并且为了避免出现竞争情况,我也使用/ / 。为了测试并发方面,我创建了一个bash脚本,该脚本同时尝试并行查找10个空闲数字,以调查命令的可能结果。 我发现即使从另一个客户端修改了监视的密钥,也永远不会返回null。我添加了一些延迟,以至于有足够的时间来引发并发修改,这会触发监视机制,从而导致失败,但事实

  • 问题内容: Redis在概念上与我使用的传统SQL数据库有所不同,我正在尝试确定它是否适合我的项目…我一直在寻找,但似乎找不到我的问题的答案。 我有一组用户需要存储,每个用户都有一个唯一的ID和与之关联的几个值(例如其名称)。看来我可以简单地将它们存储为哈希: 我还有一堆要存储的消息,每个消息都有一些属性,例如发送者和接收者: 我的问题是,我将如何检索特定用户发送的所有消息(由其哈希指定)。我应该

  • 问题内容: 我正在尝试与Laravel 一起使用Redis。我可以发出一个返回10个键的请求,但我希望循环直到所有键都返回。我不确定如何使用laravel进行此操作。目前我有 我不知道是否有一种“ laravel”的方式。 编辑: 我使用作曲家进行导入并与之合作 但是我想知道laravel的方式 编辑: var_dump的单 问题答案: 当Redis外观直接将命令传递给Predis(或您可能会说R

  • 问题内容: 关于它们有很多传说。我想知道真相。以下两个示例之间有什么区别? 问题答案: 不确定从何处获得传说,但: 提交按钮 与: IE6将在标记之间提交此按钮的所有文本,其他浏览器将仅提交值。使用可使您在按钮的设计上享有更大的布局自由度。从各种意图和目的看,它乍一看似乎很棒,但是各种浏览器怪癖使它有时很难使用。 在您的示例中,IE6将发送到服务器,而其他大多数浏览器将不发送任何内容。要使其跨浏览