日期:2014-05-17  浏览次数:20396 次

数据放内存里还是放缓存里?
Hello,大家下午好
工作中有个疑问,想请大家帮忙看看。
我有个数据源,是从1.2M的XML反序列化过来的
由于被调用很平凡 原先我就直接把它放内存里了
后来同事建议把1.2M的XML经过Gzip压缩后(150kb)放到缓存里

疑问:
1.把数据放内存里很糟糕吗?
2.二种做法的区别

------解决方案--------------------
如果是只有这一个的话1.2M不算什么,占着就占着,我习惯上倾向于时间>空间。当然具体场景还是你更清楚,具体分析吧。
另外就算要压缩,也可以把对象用WeakReference保存起来
------解决方案--------------------
缓存的目的就是高性能,居然还压缩。
这个非常可笑。


引用:
Hello,大家下午好
工作中有个疑问,想请大家帮忙看看。
我有个数据源,是从1.2M的XML反序列化过来的
由于被调用很平凡 原先我就直接把它放内存里了
后来同事建议把1.2M的XML经过Gzip压缩后(150kb)放到缓存里

疑问:
1.把数据放内存里很糟糕吗?
2.二种做法的区别
              
              
    ……


你们俩技术水平都很一般,看来都没法说服对付。
从人事角度,你应该跟他妥协。
从技术角度,你应该暗示他来这个帖子看回复。

这种方法等于脱裤子放屁,脱了裤子还不够,还得脱了内裤才能放屁一样。

数据源转成xml,然后xml又压缩。
用的时候还得解压,然后序列化成数据源。
绕了那么大一圈,反而让系统耗费大量IO、CPU资源进行压缩解压成xml。
然后还得浪费大量内存存储xml,最后才变成源数据。
内存消耗多了不止一倍了,还增加大量cpu计算负担。
------解决方案--------------------

1.缓存就是存储在内存中。。。
2.放到缓存又频繁解压缩,简直是。跟CPU和内存条有仇。。。