ngx_shmap icon indicating copy to clipboard operation
ngx_shmap copied to clipboard

您好,大致分析了下您的代码,有几个问题想请教下您~

Open lidaohang opened this issue 9 years ago • 9 comments

我看您的代码貌似每次插入都是在链表的头部插入ngx_queue_insert_head ,并不是根据过期时间来排序插入的? 会不会导致我的过期时间长的数据,被提取给删除掉了~

lidaohang avatar May 20 '15 06:05 lidaohang

对不起,这部分代码我没有仔细看。只是按键ngx_lua中拷贝过来的。 另外,他的逻辑应该是没问题的,这个我是测试过的。

[email protected]

发件人: daohang 发送时间: 2015-05-20 14:13 收件人: jie123108/ngx_shmap 主题: [ngx_shmap] 您好,大致分析了下您的代码,有几个问题想请教下您~ (#1) 我看您的代码貌似每次插入都是在链表的头部插入ngx_queue_insert_head ,并不是根据过期时间来排序插入的? 会不会导致我的过期时间长的数据,被提取给删除掉了~ — Reply to this email directly or view it on GitHub.

jie123108 avatar May 22 '15 10:05 jie123108

哦,好的,没事,感谢了~

lidaohang avatar May 22 '15 14:05 lidaohang

你们是迅雷啊, 用nginx 开发的多吗?

lidaohang avatar May 22 '15 14:05 lidaohang

共享内存锁的粒度是咋样的? 你压力测试的效果如何? 如果value比较大,十几kb 会不会有问题呢?

lidaohang avatar May 22 '15 14:05 lidaohang

锁是整块共享内存一把锁的,测试之前是有测试过的,不过结果已经不存在了。性能还是不错的吧,比使用redis/memcached肯定高效很多,使用上基本上不会成为瓶颈。

jie123108 avatar May 23 '15 09:05 jie123108

他好像是用的自旋锁吧~

lidaohang avatar May 23 '15 15:05 lidaohang

是,使用NGINX的锁,看代码是自旋锁。

jie123108 avatar May 24 '15 12:05 jie123108

共享内存这块能剥离出来吗? 不依赖于nginx,然后把ngx_rbtree,ngx_queue都剥离出来给其他项目使用

lidaohang avatar Jun 01 '15 06:06 lidaohang

共享内存是可以能,这个ngx_shmap就是的。 rbtree应该也很容易剥离出来的。里面引用nginx的头文件很少,以前我做过。不过代码已经丢失。

jie123108 avatar Jun 01 '15 14:06 jie123108