最近在给自己的服务器框架加上统计信息,其中一项就是统计创建的对象数,以及当前还存在的对象数,那么自然以对象名字作key。但写着写着,忽然纠结是用std::string还是const char *作key,哪个效率高些。由于这服务器框架业务逻辑全在lua脚本,在C++需要统计的对象没几个,其实用哪个没 ...
分类:
编程语言 时间:
2019-04-20 12:42:44
阅读次数:
336
大道至简,返璞归真.前言在发表这篇博文的前夕,还有一些小伙伴在提问一些以下相关的问题:性能怎么样?是否容易上手?开发目标在哪?如何反馈问题?对比行业内的lua开源项目有何优势?等等,以上问题会在本文中一一介绍.CF的起因首先来聊聊情怀这个东西!相信每一个行业内的从业者都或多或少有过一个梦,这个梦叫做:"我到时候要开发一个XXX"!其实作者当初也是一样.每当半夜(凌晨)在加班、看
分类:
其他好文 时间:
2019-04-18 01:01:45
阅读次数:
193
相比Redis事务来说,Lua脚本有以下优点减少网络开销: 不使用 Lua 的代码需要向 Redis 发送多次请求, 而脚本只需一次即可, 减少网络传输;原子操作: Redis 将整个脚本作为一个原子执行, 无需担心并发, 也就无需事务;复用: 脚本会永久保存 Redis 中, 其他客户端可继续使用 ...
分类:
其他好文 时间:
2019-04-16 16:01:09
阅读次数:
183
1. 点和冒号的区别是, 一个是方法调用, 一个面向对象,里面有个self , 修改了原function, 不会影响到复制对象。 local _M = {} function _M.one(a,b) return a + b end _M.one(1,2) # 结果是3 local w = _M ; ...
分类:
其他好文 时间:
2019-04-15 16:47:16
阅读次数:
158
接下来我们为飞机加入子弹,首先创建一个BulletLayer: module("BulletLayer",package.seeall) local bulletBatchNode = nil local plane = nil local bulletArray = {} local bullet ...
分类:
其他好文 时间:
2019-04-14 19:29:54
阅读次数:
212
1.与lua不同,即使数组中间有null或者undefined,仍然能求出正确的长度 2.length 改变.length也会改变数组的大小 3. indexOf arr.indexOf(a)会返回第一个a的下表,如果没有,返回-1 4.slice()参数包括开始索引,不包括结束索引。左闭右开 如果 ...
分类:
编程语言 时间:
2019-04-14 17:48:54
阅读次数:
184
本文给大家分享的是Nginx结合lua 实现调用.so动态链接库文件的方法和示例,有需要的小伙伴可以参考下最近在和智能硬件部门一起,做一个室内定位的服务,该服务根据手机端传过来的beacon设备列表,根据一定的算法计算出具体的商场,并将商场ID和beason设备列表作为参数,调用.so文件中的计算方 ...
分类:
其他好文 时间:
2019-04-13 11:08:59
阅读次数:
145
今天来说说Skynet客户端和服务端网络通信的基础部分。 Skynet当前版本。lua是skynet自带的5.3版本。 根据示例,我们可以知道。通信的步骤如下。 1. 客户端按大小端打包成二进制。 2. socket发送。 3. 服务端接收。 4. 服务端解包。 逐个说说这其中的操作方法。 1.第一 ...
分类:
Web程序 时间:
2019-04-12 09:17:57
阅读次数:
329
认识的Redis Redis是一个开源(BSD许可),内存数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,如字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志,具有半径查询和流的地理空间索引。Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Re ...
分类:
其他好文 时间:
2019-04-11 14:50:03
阅读次数:
172
为了和SDK升级保持协议一致,花了两天时间实现了用LUA开发,MQTT+HTTP方式实现远程升级 安装Apache主要是为了实现通过HTTP下载资源 升级介绍: 1,用户点击检查更新时,APP用HTTP访问云端的更新信息,版本号,升级文件的位置,和这次升级的内容 2,APP通过MQTT把信息(版本号 ...
分类:
Web程序 时间:
2019-04-09 00:39:12
阅读次数:
200