论坛首页 Java企业应用论坛

帖子 博客等资源点击量缓存杀手级解决方案

浏览 21341 次
精华帖 (0) :: 良好帖 (9) :: 新手帖 (1) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-07-22   最后修改:2009-07-22
看了一下Berkeley DB
Berkeley DB多应用于嵌入式场景 在java中是跑在jvm里面的,就是说其数据不能在多台机器间共享
这一特点决定了其不能应用于集群环境中
也就不适合大多数的互联网项目

火星的redis 这里有一篇介绍 http://www.iteye.com/topic/350595
0 请登录后投票
   发表时间:2009-07-22  
xly_971223 写道
potian 写道
根本没必要搞这么复杂,一个关键字/值数据库就足矣

一两行代码的问题

即使需要简单的查询操作也可以胜任

所有不需要要计入关系模型的,不需要进行复杂统计的,都可以这样做,包括用户的最后点击时间等等

持续每秒钟几万次的更新轻而易举

tokyotyrant,bdb都可以



tokyotyrant中文文档貌似比较少
bdb倒是可以尝试一下


真当是晕倒了,就是启动一下,写一两行代码的问题,为什么还需要很多中文文档

何况作为一个程序员,看几句英语都吃不消

bdb写个网络接口也是很简单的事情,用libevent或者eventmachine或者什么java网络框架都可以呀
0 请登录后投票
   发表时间:2009-07-22  
potian 写道
xly_971223 写道
potian 写道
根本没必要搞这么复杂,一个关键字/值数据库就足矣

一两行代码的问题

即使需要简单的查询操作也可以胜任

所有不需要要计入关系模型的,不需要进行复杂统计的,都可以这样做,包括用户的最后点击时间等等

持续每秒钟几万次的更新轻而易举

tokyotyrant,bdb都可以



tokyotyrant中文文档貌似比较少
bdb倒是可以尝试一下


真当是晕倒了,就是启动一下,写一两行代码的问题,为什么还需要很多中文文档

何况作为一个程序员,看几句英语都吃不消

bdb写个网络接口也是很简单的事情,用libevent或者eventmachine或者什么java网络框架都可以呀


大侠就是不一样 啥都能写 

能不能写一个学习一下
0 请登录后投票
   发表时间:2009-07-22   最后修改:2009-07-22
厄 等待更详细的解说
0 请登录后投票
   发表时间:2009-07-23  
redis  ?我都不知道 lz 这个好用么 给讲讲
0 请登录后投票
   发表时间:2009-07-23  
potian 写道
xly_971223 写道
potian 写道
根本没必要搞这么复杂,一个关键字/值数据库就足矣

一两行代码的问题

即使需要简单的查询操作也可以胜任

所有不需要要计入关系模型的,不需要进行复杂统计的,都可以这样做,包括用户的最后点击时间等等

持续每秒钟几万次的更新轻而易举

tokyotyrant,bdb都可以



tokyotyrant中文文档貌似比较少
bdb倒是可以尝试一下


真当是晕倒了,就是启动一下,写一两行代码的问题,为什么还需要很多中文文档

何况作为一个程序员,看几句英语都吃不消

bdb写个网络接口也是很简单的事情,用libevent或者eventmachine或者什么java网络框架都可以呀

对只用过一种主流语言的程序员来说,你这个建议等于没说一下,只能让人更崩溃
0 请登录后投票
   发表时间:2009-07-24  
不管楼主有没有必要做的这么复杂,但是我觉得楼主给我们提供的这个思路还是不错的!
0 请登录后投票
   发表时间:2009-07-24  
potian 写道
根本没必要搞这么复杂,一个关键字/值数据库就足矣

一两行代码的问题

即使需要简单的查询操作也可以胜任

所有不需要要计入关系模型的,不需要进行复杂统计的,都可以这样做,包括用户的最后点击时间等等

持续每秒钟几万次的更新轻而易举

tokyotyrant,bdb都可以



同意

使用libevent/mina+bdb可以实现高效的点击服务器
bdb可配置增大内存cache
另外开发一套bdb备份恢复数据的程序可解决bdb文件崩溃的问题

跟据生产环境的真实数据,libevent+bdb方案,一台机器可以支撑600W的pv
如果pv继续增大,可考虑对key做hash,分部到n台机器上
0 请登录后投票
   发表时间:2009-07-24  
引用

使用libevent/mina+bdb可以实现高效的点击服务器
bdb可配置增大内存cache
另外开发一套bdb备份恢复数据的程序可解决bdb文件崩溃的问题

跟据生产环境的真实数据,libevent+bdb方案,一台机器可以支撑600W的pv
如果pv继续增大,可考虑对key做hash,分部到n台机器上

看来得学习一下libevent了
0 请登录后投票
   发表时间:2009-07-24  
xly_971223 写道
srdrm 写道
用得着这么复杂吗, 我定个时间, 每隔30分钟将所有贴子的hits缓存刷到数据库中, 或者10分钟. 或者, 任意定个时间, 至少能解决绝大部分问题

如果缓存了10w帖子 假设有1w个发生了变化
你刷到数据库看看 1W条sql几乎同时到服务器不搞死才怪

10w对一个网站来说是非常小的数目了 如果是100W 1000W呢?



你怎么会缓存那么多帖子呢? 我觉得这才是最大的不合理!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics