假设有10W个用户(UserName),每一个用户都存在若干条记录(RecordInfo),现在要将数据进行缓存,或放在内存中。
如果采用cache["UserName"]的做法将会有相应的10个键值对。
如果采用static Dictionary<string,List<RecordInfo>>的做法进行内存中进行保存,如果找不到UserName对应的数据,则向数据库中查询,并加载到Dictionary中。
还有没有其他的方法实现
千万别缓存
一般缓存的作用是通过增加物理空间
来提高查询速度
10w量太大了
而且我不认为你能提高多少查询速度
建议你在数据库上做索引
然后速度不够的话做页面缓存页可以
在不成做静态化
不要做数据缓存
把机器搞死了的
干啥一定要缓存??
楼主的第二种办法应该是可以的,但要考虑到和数据库的同步问题,除非你的RecordInfo永远不会改变。
所以在缓存中应考虑加入一个时间戳,每次读取缓存时先判断时间戳是否超时。
viewState