业务系统、用户数据怎么缓存更合理

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

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

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

另外:不知道应该放在哪个版块,如果放错地方了,麻烦版主说下。
------解决方案--------------------
数据量不算大,加索引,查数据库就行,放在缓存里还得考虑缓存同步,麻烦
------解决方案--------------------
40w的通透量相当可观了
------解决方案--------------------
别用关系式了吧
------解决方案--------------------
40W的话使用索引查询的话,消耗的时间可以忽略吧?
使用缓存有几个原则:
1、数据经常使用。
2、数据量不大。像你这40W的数据,太多了,不适合缓存。就算用缓存,效率也不会比直接从数据库查询快多少,可能更慢。
3、等等。
------解决方案--------------------
100w 不算大,程序启的时候放到hashmap中吧,服务器是64位的应该没有问题。
我以前放了300万数据到hashmap中。现在改成了redis 存的文件。
楼主可以baidu查一下redis 的使用,
楼主说的问题我是用redis 缓存的,数据量比楼主大,量有1000万。