显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

偶有所得,记录在此

有分享交流才有进步,永远不要固步自封

 
 
 
 
 
 

Lua lib 加载分析

2012-8-2 18:27:39 阅读1291 评论0 22012/08 Aug2


String Lib 加载部分
-----------------------------
以 string lib 为例,加载代码如下:

LUAMOD_API int luaopen_string (lua_State *L) {
luaL_newlib(L, strlib);
createmetatable(L);
return 1;
}

函数主要有 2 行,luaL_newlib 和 createmetatable 两个函数调用。

luaL_newlib 被定义为宏,完成功能很简单。首先创建一个 table,然后把成员函数名做 key,成员函数作为 value 放入该 table 中,over。

作者  | 2012-8-2 18:27:39 | 阅读(1291) |评论(0) | 阅读全文>>

Lua Table 内部实现解析

2012-7-19 10:22:19 阅读3493 评论1 192012/07 July19

基本特点
  • 语法上,不像其它语言区分 List 和 Dict,Lua Table 可以直接存储 List 数据 or Dict 格式数据,甚至这两种类型的数据混合出现都是允许的。如下:

    days = {"Sunday", "Monday", "Tuesday", a=1, b=2}

    table 内部数据结构,也是 Array 和 Hash Table 的结合体,如下:
    typedef

作者  | 2012-7-19 10:22:19 | 阅读(3493) |评论(1) | 阅读全文>>

使用 Redis 解决接口被刷问题

2011-7-19 12:21:17 阅读3305 评论2 192011/07 July19

问题背景
Web 上,凡是有价值的接口页面、接口,在利益的驱动下,总有被犯罪分子刷的可能;

对方少数几个 IP 还好说,直接封 IP 了事,要是人家有肉鸡,有几千几万的 PC 资源,源源不断,封 IP 即便是自动检测自动封 IP 仍然是显的乏力,被欺负心里很不爽。

解决办法
其实很简单,在处理每个请求前,先检测下这个 IP 是否是恶意攻击的 IP,如果是直接返回个不知所云的页面给对方就好了。

要判断是否是恶意攻击的 IP,我们需要记录每个 IP 每一次请求的时间,如果在 xx 秒内,访问量超过 yy 值,则判定为恶意攻击的 IP。
这里要几个问题:
  • 由于每个接口请求,都要记录下 IP 和 请求时间,这个记录动作必须非常快,不能卡住,否则会影响整个服务。

作者  | 2011-7-19 12:21:17 | 阅读(3305) |评论(2) | 阅读全文>>

linux glibc2.3 以后,已经在用 dlmalloc 了

2011-3-3 16:25:05 阅读1130 评论0 32011/03 Mar3

摘自 wiki 上 malloc 页: http://en.wikipedia.org/wiki/Malloc#Implementations

Since the v2.3 release, the GNU C library (glibc) uses a modified ptmalloc2, which itself is based on dlmalloc v2.7.0.

本来还担心内存碎片问题,要选择一个好的内存分配器,现在不用了。

作者  | 2011-3-3 16:25:05 | 阅读(1130) |评论(0) | 阅读全文>>

Redis Dict 分析

2011-2-21 17:08:30 阅读1408 评论0 212011/02 Feb21

非常普通的 Hash 算法,无特别之处。

如何解决 Hash 冲突
Hash Table 的每一个 Entry 是一个链表,Hash 值相同的 Entry 放在这个链表内;查询时,先用 Hash Key 定位到链表头,然后遍历这个链表执行查找或者插入操作。

Hash 表扩容方案
1) 新 Hash Table Size 的计算
每次执行 add Entry 操作时,先进行 Hash 表的扩容检测,算法如下:

作者  | 2011-2-21 17:08:30 | 阅读(1408) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
日志评论
评论列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016

注册 登录  
 加关注