ngx_shmap
ngx_shmap copied to clipboard
您好,大致分析了下您的代码,有几个问题想请教下您~
我看您的代码貌似每次插入都是在链表的头部插入ngx_queue_insert_head ,并不是根据过期时间来排序插入的? 会不会导致我的过期时间长的数据,被提取给删除掉了~
对不起,这部分代码我没有仔细看。只是按键ngx_lua中拷贝过来的。 另外,他的逻辑应该是没问题的,这个我是测试过的。
发件人: 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.
哦,好的,没事,感谢了~
你们是迅雷啊, 用nginx 开发的多吗?
共享内存锁的粒度是咋样的? 你压力测试的效果如何? 如果value比较大,十几kb 会不会有问题呢?
锁是整块共享内存一把锁的,测试之前是有测试过的,不过结果已经不存在了。性能还是不错的吧,比使用redis/memcached肯定高效很多,使用上基本上不会成为瓶颈。
他好像是用的自旋锁吧~
是,使用NGINX的锁,看代码是自旋锁。
共享内存这块能剥离出来吗? 不依赖于nginx,然后把ngx_rbtree,ngx_queue都剥离出来给其他项目使用
共享内存是可以能,这个ngx_shmap就是的。 rbtree应该也很容易剥离出来的。里面引用nginx的头文件很少,以前我做过。不过代码已经丢失。