日期:2014-05-18  浏览次数:20430 次

关于实时数据缓存问题
类似于论坛,帖子列表,这样的列表需要缓存吗,

如果不缓存有什么方法解决数据库性能问题,

如果缓存的话,如何保证数据的及时性

请高手指教!

------解决方案--------------------
列表分页显示,不用缓存。每页可以考虑一下。
------解决方案--------------------
可以缓存最新的100条记录,这个有新的到来时,先改变缓存,然后同时写入数据库。
------解决方案--------------------
探讨
类似于论坛,帖子列表,这样的列表需要缓存吗,

如果不缓存有什么方法解决数据库性能问题,

如果缓存的话,如何保证数据的及时性

请高手指教!

------解决方案--------------------
缓存表面看来很好用,实际很容易出问题,而且出了问题不容易排错。所以使用缓存,需要较高的技术和经验。

我理解不深,只体会到这么几点:
1.缓存只能提高多次访问的性能,对第一次访问没有影响。如果对第一次访问的性能要求较高,需要想其他办法。
2.用了缓存,必须提供缓存数据失效/出问题时,重新装填缓存的方法。缓存数据的同步是非常重要的。
3.客户端缓存,好处是性能较高,缺点是可能有安全问题。服务端缓存,资源消耗较大,大数据量应慎用。
4.如果web程序用了cache,可以用这个小技巧在必要的时候强行更新cache,而避免重起应用程序池:
程序里定义一个特殊的query string,检测到时就更新cache。这样,开发员可以在任何一个浏览器端输入这个query string,更新cache。

------解决方案--------------------
不用缓存有个比较笨的方法就是,前台读xml,而xml数据是后台动态的app去跑的。根据你的需要定时load xml文件。
通常 xml + 缓存一起使用。达到最佳效果。
但是论坛的交互性太强,个人觉得只能从数据库入手。还是看看大牛们是怎么说的吧