业务系统、用户数据如何缓存更合理

mvolcanosssss 2014-07-07 02:03:35
假设有一张用户信息表,有100W+条数据,以用户名做主键,假设业务上定义用户名是唯一的,用户活跃情况是这样的:
A 40%每天登陆
B 20%每周登陆
C 20%每月登陆
D 20%其他情况了,如注册后就不再登陆
用户数据平均每天增加5K条。

这时候我碰到的问题是每天有40W以上的查询量,我想将用户数据保存到缓存里,但是一次性读取上百万条数据所耗费的时间不短,另外有的用户数据也没必要保存到缓存里(省点内存也好)

请教下各位高手,候有没有更好的思路可以解决这个问题,谢谢哈。

另外:不知道应该放在哪个版块,如果放错地方了,麻烦版主说下。
...全文
476 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dokia123 2014-07-09
  • 打赏
  • 举报
回复
40W的话使用索引查询的话,消耗的时间可以忽略吧? 使用缓存有几个原则: 1、数据经常使用。 2、数据量不大。像你这40W的数据,太多了,不适合缓存。就算用缓存,效率也不会比直接从数据库查询快多少,可能更慢。 3、等等。
deng1234 2014-07-09
  • 打赏
  • 举报
回复
100w 不算大,程序启的时候放到hashmap中吧,服务器是64位的应该没有问题。 我以前放了300万数据到hashmap中。现在改成了redis 存的文件。 楼主可以baidu查一下redis 的使用, 楼主说的问题我是用redis 缓存的,数据量比楼主大,量有1000万。
pricks 2014-07-08
  • 打赏
  • 举报
回复
别用关系式了吧
业余草 2014-07-07
  • 打赏
  • 举报
回复
40w的通透量相当可观了
mvolcanosssss 2014-07-07
  • 打赏
  • 举报
回复
能省则省嘛,40W+次查询也不是小数目 打错字了...
mvolcanosssss 2014-07-07
  • 打赏
  • 举报
回复
能省刚省嘛,40W+次查询也不是小数目
tixiang 2014-07-07
  • 打赏
  • 举报
回复
数据量不算大,加索引,查数据库就行,放在缓存里还得考虑缓存同步,麻烦
mvolcanosssss 2014-07-07
  • 打赏
  • 举报
回复
有人在吗,自己顶一下。

25,985

社区成员

发帖
与我相关
我的任务
社区描述
高性能WEB开发
社区管理员
  • 高性能WEB开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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