类库大魔王
类库大魔王 懒惰,傲慢,以及无耐心

完成Memcached/Redis支持

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

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

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

感觉本文不错,不妨小额鼓励我一下!
支付宝扫一扫

支付宝扫一扫

微信扫一扫

微信扫一扫

如果你看不到评论框,说明Disqus被墙了。