挖井

类库大魔王的挖井日记

挖一口属于自己的井


完成Memcached/Redis支持

花了好几天时间,终于给Yiili的程序加上了Memcached和Redis的支持。前面也说过,我只是用它们来实现缓存的功能,把一些本来需要查数据库得到的数据缓存起来,比如帖子列表、话题列表、分类列表等,目前看来,效果确实是有一点的,但因为测试环境的帖子太少,还不能看出来以后帖子多起来的时候效果有多少。另外就是Memcached和Redis在效率上的区别也基本看不出来,估计也得是比较大数据量和查询操作才能比较明显得体现出来。

Memcached和Redis是第一次用,感觉还是比较易用的,尤其是我只用了set和get操作。Redis会在后台周期性地把数据写到文件系统中,这大概就是所谓的内存数据库的一个特点吧。

今天还解决了一个一直悬而未决的内存泄漏问题。之前公司的网管一直说我的程序有内存泄漏问题,让我比较郁闷。因为泄漏的是Slab项,而且是缓慢增长,我觉得是网管冤枉我了,我仔细review了我的代码,把所有涉及到动态内存分配的地方都反复推敲,都及时地做了释放内存的操作,我认为我的程序不存在内存泄漏的问题,事实也是看不到我的程序在运行过程中有占用内存增长的现象。今天网管又提起这事,还发邮件要求把生产环境中部署的程序都升级到最新的版本,希望在最新版本中已经解决了这个问题。后来我在网上搜了一下,发现一篇文章,发现跟我是完全一样的情况,也是每秒钟会写文件删文件,也是slab爆掉。不禁感叹,运维也是一门很深的技术。

本文地址:

https://minidump.info/blog/2014/07/finished-memcached-and-redis-supported/

上一篇

工作近况

公司里一个小项目的方案,原本就强烈建议小正太把业务逻辑提出来,单独写个server,不要把应用层代码写到nginx push stream module里去,让人家module只做单纯的协议层数据转发。小正太一直以性能消耗要多一次请求为由想把业务逻辑合到nginx的module里去,我真是无语...…

Job 全文阅读
下一篇

初试QtQuickCompiler

QtQuickCompiler出来有一些日子了,自从istkani在iOS App Store上架后,就没怎么关心过Qt的进展,只是差不多每天例行扫一遍Qt的邮件列表而已。昨天心血来潮想试试QtQuickCompiler到底有多神,首先快速浏览了一下官方文档,发现使用还是很简单的,然后开始照文...…

Qt 全文阅读