Memcached-memcached 数据是否有必要使用压缩技术
就像咱们平常PC上使用压缩软件,能够节省空间,memcached使用时把数据放置到内存里面,对数据使用压缩处理,到底好不好啊,不好请帮忙解释下
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
就像咱们平常PC上使用压缩软件,能够节省空间,memcached使用时把数据放置到内存里面,对数据使用压缩处理,到底好不好啊,不好请帮忙解释下
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(8)
这个不能简单说有没有必要,任何一种技术都有应用场景,压不压缩我觉得可以从以下几方面考虑:
1.memcached容量是不是饱和了,饱和了,才有必要启用压缩
2.确定压缩率,太小的数据进行压缩,反而会带来数据膨胀
3.压缩会带来效率损失,这个还需要考虑CPU、内存等是的占用情况
从效率来考虑,如果单纯为节省memcached内存的目的出发来决定压不压缩就不是一个很好的做法。
可以压缩,可以降低网络传输的开销。
当然压缩策略不是所有数据都进行压缩,可以对小数据不压缩,value+1操作数据,对大数据进行压缩:
举例:
在实际的操作过程中要不要压缩是取决于数据大小,要么全都不压缩,要么判断数据大小压缩,
举个例子,比如一个1k的数据 即使压缩,这又能节省多少空间呢?
cache 的意义是 以空间换取时间! 所以只要空间上能换取时间的话,那么这么做是有意义的,当然这也不是绝对的,否则就不会有压缩这一概念了,可以规定制定大小内不压缩,超过大小的才去压缩,但是这里会把时间有稍微浪费在了判断数据大小上。 总之看你自己的实际情况决定吧。
不建议使用、压缩、解压影响性能。另外也不会把太大的数据存在Memcached里吧。
如果用了:
add的时候要压缩
get的时候要解压
假如要做value+1操作就要解压、加1、压缩三步
是否压缩要看使用场景,考虑压缩/解压缩耗费的时间是否值得
如果缓存的是网页内容,那么压缩也许是值得的,如果缓存的是计数器,那么就别压缩了
压缩可作为序列化的一种。
结构化数据存入别的系统一般需要经过序列化,如果序列化后的数据比较紧凑、省空间就没必要额外压缩了,否则,使用性价比比较高的序列化格式代替缺省的即可。
比如文件打包,我常用zip格式而不是rar,因为rar那点高出zip的压缩率需要很多额外的计算,所以zip有更高性价比;而zip打包本身很快的,就无需很在意额外计算。
压缩可以节省带宽,当请求很高时,来回读写memcached的数据量很大时,适当压缩一下还是有好处的,如果存的是简单数据类型,没必要压缩。