Memcached-memcached 数据是否有必要使用压缩技术

Memcached-memcached 数据是否有必要使用压缩技术

晚风撩人 发布于 2017-01-14 字数 133 浏览 1031 回复 8

就像咱们平常PC上使用压缩软件,能够节省空间,memcached使用时把数据放置到内存里面,对数据使用压缩处理,到底好不好啊,不好请帮忙解释下

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

虐人心 2017-10-03 8 楼

这个不能简单说有没有必要,任何一种技术都有应用场景,压不压缩我觉得可以从以下几方面考虑:

1.memcached容量是不是饱和了,饱和了,才有必要启用压缩

2.确定压缩率,太小的数据进行压缩,反而会带来数据膨胀

3.压缩会带来效率损失,这个还需要考虑CPU、内存等是的占用情况

瑾兮 2017-06-12 7 楼

从效率来考虑,如果单纯为节省memcached内存的目的出发来决定压不压缩就不是一个很好的做法。

偏爱自由 2017-05-12 6 楼

可以压缩,可以降低网络传输的开销。
当然压缩策略不是所有数据都进行压缩,可以对小数据不压缩,value+1操作数据,对大数据进行压缩:

//Memcache::setCompressThreshold — Enable automatic compression of large values
bool Memcache::setCompressThreshold ( int $threshold [, float $min_savings ] )

举例:

//自动启用压缩策略,当数据大于2k时,以0.2的压缩比进行zlib
$memcache->setCompressThreshold(2000,0.2);
甜柠檬 2017-04-13 5 楼

在实际的操作过程中要不要压缩是取决于数据大小,要么全都不压缩,要么判断数据大小压缩,

举个例子,比如一个1k的数据 即使压缩,这又能节省多少空间呢?

cache 的意义是 以空间换取时间! 所以只要空间上能换取时间的话,那么这么做是有意义的,当然这也不是绝对的,否则就不会有压缩这一概念了,可以规定制定大小内不压缩,超过大小的才去压缩,但是这里会把时间有稍微浪费在了判断数据大小上。 总之看你自己的实际情况决定吧。

浮生未歇 2017-03-16 4 楼

不建议使用、压缩、解压影响性能。另外也不会把太大的数据存在Memcached里吧。

如果用了:
add的时候要压缩
get的时候要解压
假如要做value+1操作就要解压、加1、压缩三步

清晨说ぺ晚安 2017-02-06 3 楼

是否压缩要看使用场景,考虑压缩/解压缩耗费的时间是否值得
如果缓存的是网页内容,那么压缩也许是值得的,如果缓存的是计数器,那么就别压缩了

归属感 2017-01-30 2 楼

压缩可作为序列化的一种。

结构化数据存入别的系统一般需要经过序列化,如果序列化后的数据比较紧凑、省空间就没必要额外压缩了,否则,使用性价比比较高的序列化格式代替缺省的即可。

比如文件打包,我常用zip格式而不是rar,因为rar那点高出zip的压缩率需要很多额外的计算,所以zip有更高性价比;而zip打包本身很快的,就无需很在意额外计算。

浮生未歇 2017-01-28 1 楼

压缩可以节省带宽,当请求很高时,来回读写memcached的数据量很大时,适当压缩一下还是有好处的,如果存的是简单数据类型,没必要压缩。