关于 memcached、Redis等缓存服务器的使用

tianyafengxinzi 2012-08-02 09:06:51
现在做了一个 c++ 项目(类似于网游服务端吧),需要在程序启动时把数据库中所有的数据全部加载到内存中,以提高效率。有以下三个问题请前辈解惑:
1、把数据库中所有数据(后期应该会很大很大吧,十几张表,就"当"每张表平均百万条记录吧,比如说用户表是很有可能的哦)全部加载到内存中,是否可行?(我知道一般情况下,是只加载最常用的,或者是第一次用时再加载。但是现在这个项目希望可以在启动服务时,就把数据库中所有数据全部加载了,就是说完全脱离数据库。)
2、是加载到 memcached 、 Redis 好,还是直接加载到程序中的全局变量中?请前辈一定指点下这个,相当迷茫。另外我知道 memcached 可能不适合持久化,但Redis应该挺适合的。
3、如果上述方案不可行,那应该怎么架设网游服务端(数据操作部分)才相对更高效呢?
请前辈们多指点啊!
...全文
1618 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq120848369 2012-08-11
  • 打赏
  • 举报
回复
redis做缓存支持持久化,容量可以说无限。

memcached注重的是缓存,你要是觉得偶尔查数据库是可以容忍的,也可以采取memcached缓存层。

如果内存能完全容下所有数据, 那么直接mysql内存表即可, 一个表容不下就按字段拆表到多台服务器上。也是一个比较务实的方案。

RLib 2012-08-11
  • 打赏
  • 举报
回复
各种方式都测试一下

64,647

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧