|
|
| 顺利切换到redis @ 2011-07-09, 14:01 |
|
网站为提高响应速度,越来越依赖在内存中存放数据。之前使用memcached,但却发现了一些由memcached的内存分配机制以及LRU导致的问题(详见 http://ahuaxuan.iteye.com/blog/225692)——简单来说是这样的,我们发现,在memcached还没有用尽其内存时,它就开始踢那些“永不超时”的数据了。对于memcached的设计理念是作为缓存来说,这当然不算是问题,或者可以说是有意设计的,但对于我们的实际需求来说(“永不超时”的数据必须保持在内存中)是无法接受的了。毕竟,缓存是缓存,数据是数据。
于是上周着手寻找新的替代方案,后来确定了使用redis。
“Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过10万次读写操作,是我知道的性能最快的Key-Value DB。”(http://www.iteye.com/topic/524977)
相比memcached,Redis毕竟是以DB为设计目标的,因此功能强大很多(比如内存中的数据维护功能,memcached几乎为0),却非常小巧,编译安装也非常方便。
“和Memcached不同,Redis并没有选择libevent。Libevent为了迎合通用性造成代码庞大(目前Redis代码还不到libevent的1/3)及牺牲了在特定平台的不少性能。Redis用libevent中两个文件修改实现了自己的epoll event loop(4)。业界不少开发者也建议Redis使用另外一个libevent高性能替代libev,但是作者还是坚持Redis应该小巧并去依赖的思路。一个印象深刻的细节是编译Redis之前并不需要执行./configure。”(http://timyang.net/tag/redis/)
redis支持很多客户端(http://redis.io/clients),我们使用的php(phpredis)和python(redis-py)当然都有,代码从memcached切换到redis几乎不用做改动,转移成本极小。
昨晚redis顺利部署到线上。切换后总结带来的好处如下:
1、当然是完成了切换到redis的初衷——保持web服务器内存中数据的完整性,避免类似memcached的LRU那样踢数据。
2、之前用memcached的时候,必须在线上用脚本将后台postgresql的关系数据“跑”进内存(memcached)里,这个步骤比较费时,在线上跑并不是很合适;现在用redis可以用线下服务器将关系数据跑进内存里,生成磁盘文件,再把该文件上传到线上服务器即可,线上服务器短时间就可以完成数据更新的切换(相当于把线下服务器的内存“拷贝”到了线上服务器的内存)。数据更新部署的流程简化多了。
3、不再担心重启memcached服务甚至重启服务器时,带来的内存中数据长时间空缺导致线上服务受到影响(见上一条“必须在线上用脚本将后台postgresql的关系数据“跑”进内存(memcached)里,这个步骤比较费时”),redis服务本身的维护也相当方便。
当然,基于切换的初衷,我们更多的还是把redis当作一个更合适的memcached来用,所以我们没有启用redis的VM特性(内存足够,性能是唯一要求)。redis更多强大功能,暂时还没有体会。
Redis官方网址:http://redis.io/
|
|
软硬兼施 | 4 个评论 | 16,984 次阅读 |
|
简短地址:http://ncblog.net/915/
|
|
| 这些畜牲不如的东西 @ 2011-06-29, 10:59 |
|

|
|
转贴收藏 | 1 个评论 | 19,401 次阅读 |
|
简短地址:http://ncblog.net/914/
|
|
| 周末晚上陪可乐画画 @ 2011-06-17, 23:24 |
|
可乐四周岁两个月了。最近不怎么玩电脑了,他更爱画画了。或许算不上画画,更像涂鸦吧。他自己也不知道画的是什么,他只喜欢自己画出各种形状的轮廓(都是封闭的),然后涂上各种颜色。当然,偶尔也会要爸爸妈妈画出一些诸如飞机、汽车的形状,他再涂色。
他要我陪他“玩”,其实我不需要做什么,他只要我在旁边陪着他,看着他画,和他随意的交流一下就好,房间小,更能其乐融融。这种感觉,或许就是天伦之乐吧,非常享受。



|
|
可乐百事 | 评论已关闭 | 8,870 次阅读 |
|
简短地址:http://ncblog.net/911/
|
|
| 晚上七点半,公司窗外 @ 2011-06-17, 19:39 |
|

|
|
瞎拍乱照 | 评论已关闭 | 10,364 次阅读 |
|
简短地址:http://ncblog.net/908/
|
|
| 步行上班路上4 @ 2011-06-17, 16:34 |
|
昨天下雨,路上拍的

顺便留一下前三集的链接:
http://ncblog.net/830/
http://ncblog.net/771/
http://ncblog.net/751/
|
|
瞎拍乱照 | 评论已关闭 | 10,049 次阅读 |
|
简短地址:http://ncblog.net/906/
|
|
| 终于,招商银行珠海分行要开业了 @ 2011-06-17, 16:31 |
|

|
|
瞎拍乱照 | 评论已关闭 | 11,160 次阅读 |
|
简短地址:http://ncblog.net/904/
|
|
| 《建党伟业》新款预告片 @ 2011-06-09, 14:36 |
|
说实话,这个预告片我爱看
台词:
同学们,冲过去!
你他娘的算老几!
我们今天的行动,是中国美好未来的先声!
彻底改变这个世界!
|
|
无酒无花 | 评论已关闭 | 8,402 次阅读 |
|
简短地址:http://ncblog.net/902/
|
|
| 解决Chrome经常狂读硬盘僵在那里 @ 2011-06-08, 12:57 |
|
Chrome/Chromium毫无疑问是速度最快的主流浏览器。不过,时常遇到其狂读硬盘僵在那里的情况,感觉有点诡异。
google一下发现了解决方法:
将“高级选项”中的“启用针对网上诱骗和恶意软件的防护功能”功能关闭即可。
|
|
软硬兼施 | 评论已关闭 | 11,318 次阅读 |
|
简短地址:http://ncblog.net/901/
|
|
| 幸好我是个loser @ 2011-06-03, 12:21 |
|
感慨一下:
以世俗意义上的成功来说,男人事业上越成功,就离家庭越远……
幸好我是个loser。
|
|
胡言乱语 | 评论已关闭 | 9,587 次阅读 |
|
简短地址:http://ncblog.net/900/
|
|
| 细选网重磅功能——店铺交易指标价格 @ 2011-05-31, 17:38 |
|
http://www.xixuan.com/guide/indexprice.php
1.什么是“店铺交易指标价格”?
店铺交易指标价格是一个用来衡量淘宝店铺的历史交易价格水平的指标。
该指标价格并非某一笔交易的价格,也并非某一件商品的价格,而是利用店铺历史交易的平均价格、交易价格中位数、最热销商品(销量最多)的价格范围等因素,综合计算出的一个指标性的虚拟的价格。
比如说,一个店铺的指标价格是¥50.00,那么就意味着,这家店铺几乎没有(或者非常非常少)卖出过单价上千元的商品。当您打算在这家店铺买一件单价¥2000.00的商品时,就要警惕了。
2.有了“细选推荐指数”,为什么还需要“交易指标价格”?
“细选推荐指数”更多的,是反映出店铺的诚信评估以及综合推荐度的评估,但由于店铺所售商品的性质各不相同,专门出售较低价商品的店铺,也可能是很优秀的诚信店铺(比如卖各种游戏点卡或者其他虚拟物品的的店铺),细选推荐指数较高。 但这样的店铺,并非购买任何商品都合适。
比如说,您到一家专门卖游戏点卡的店铺去买游戏点卡,那这家店铺可能就是优秀的,但如果您去这家店铺买手机,那就不合适了。所以您在细选网搜索商品时,除了细选推荐指数之外,还需要这个更明确、清晰的指标价格来参考。
3.如何使用“店铺交易指标价格”?
该指标价格可以大概的反映一个店铺所售商品的价格水平,可供买家参考。比如,您想买一个价格在2000~3000元之间的手机,您搜索出来的很多店铺中,您一定是希望找到至少是专门卖手机的店铺。 但是,店铺当前的“样子”,并不一定代表实际情况。
在细选网搜索商品的话,您可以在结果列表中,同时查看到店铺的“细选推荐指数”和“店铺指标价格”,对于指标价格,细选网还会给出相应的提示,如:正常、较低、过低等。如果结果中,有的店铺,“交易指标价格”非常低的话(比如:指标价格为几十元,甚至几元),那对于要购买几千元的手机的买家来说,就可以直接跳过该店铺了。:)

|
|
细选网 xixuan.com | 2 个评论 | 11,583 次阅读 |
|
简短地址:http://ncblog.net/899/
|
|
|
|