目前有一个表(几乎每个页面都要访问到),这个表是放菜单的,所以我就像放到缓存里面去我以前的缓存做法是从数据库查询出这个表,将整个表的记录封装到Datatable里面,然后将整个datatable放到缓存
但是这个缓存用的地方太多,比如根据ID取某列的值之后发现服务器CPU太高了,问了些朋友,朋友说因为我缓存放的是整个datatable(里面有500条记录左右)对象
建议我缓存里面放哈希类型,不用整个datatable存进去,但是换成哈希值和,哈希是二维的,我这个表有很多列数据的,好像又没有多维的数组
这个时候怎么办?请CSDN的牛人帮忙给个方案!究竟缓存里面放什么类型的对象,性能会好点?
但是这个缓存用的地方太多,比如根据ID取某列的值之后发现服务器CPU太高了,问了些朋友,朋友说因为我缓存放的是整个datatable(里面有500条记录左右)对象
建议我缓存里面放哈希类型,不用整个datatable存进去,但是换成哈希值和,哈希是二维的,我这个表有很多列数据的,好像又没有多维的数组
这个时候怎么办?请CSDN的牛人帮忙给个方案!究竟缓存里面放什么类型的对象,性能会好点?
话说500条记录也不多啦,计算遍历也不算什么,你确定CPU占用高问题是因为这个?要是CPU占用不超过70%也还OK啦,老让CPU闲着干什么,你又不用响应节能减排的号召。
而缓存不仅不会加重CPU的负担,反而会大幅减轻CPU的负担,除非你这个缓存太大搞的机器的内存不够用了
这个时候怎么办?
==================
那就用 泛型字典嘛 Dictionary<TKey, TValue>如果还不够,楼主可以自定义一个 二键值对