您的位置:首页 > 运维架构 > 网站架构

关于大型网站MYSQL数据库上层缓存的讨论

2008-03-20 13:43 309 查看
我把MYSQL里面提取出来的用户信息,写到session 里面,然后以后的用户数据读取动作,从session 中提取,写入的时候,就把这些信息更新到MYSQL中。

这种方法在大流量的大型网站中,是否合适?

 

当然是不合适的了。

就算使用 memcached,也有它的缺点。因为memcached是在内存中存储数据的。如果内存满了,或机器重启。老用户的数据就会丢失。这种方法应用在大型网站中仍然不保险。

所以推荐使用memcachedb。memcache + berkelyDB

补充了 memcache 不能持久化的问题。

 

一些网上的资料

为什么要选择memcachedb:没有什么特殊的原因,我们有最好的理由就是,在做到最大不牺牲数据读、写性能的前提下,我们能够让您原来存储在memcache里的数据不再遭受系统宕机或者系统掉电而丢失,即使服务器电源爆炸了,只要硬盘还能够正常工作,换到另外一台服务器上,您的数据依然安然无恙地在硬盘上。

性能的担忧:我们做过小数据测试,小数据(几十个字节)数据的读写,每秒钟并发能够维持在5000+(单块146Scis硬盘,CPU和内存配置几乎可以忽略因为这不是性能瓶颈)。基本上满足所有互联网高效存储的应用。

应用场合:需要频繁读写的小数据。例如数字类服务就像点击数,需要频繁写入小数据的例如评论系统,需要记录用户状态的例如在线人数以及在线用户等等。当然,如果您想用来存储单笔超过10K以上的数据,例如新闻或者文章或者论坛帖子也可以,但是我们没有尝试过,如果您真的用来这样子玩了,可以反馈给我们。

数据备份&&读写分离:memcachedb支持主辅实时无差异同步,配置主服务和辅服务仅仅需要很短的一条启动命令。当然,您也可以利用这一便利特性来实现读写分离,那样子会让您的系统更加的高效。

稳定性:memcachedb目前被应用于新浪互动社区多个产品线中,具有钢铁般的品质,Sina出品,品质毋庸置疑。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐