Redis是“记忆怪物”。将数据存储为“压缩的json字符串”可最大限度地减少内存使用量。 Redis Db中是否有内置的压缩选项?
答案 0 :(得分:16)
Redis在转储时使用LZF光数据压缩器,因此不会减少内存消耗。暗示redis不会压缩内存中的数据并将其存储为字符串。您必须部署自己的客户端压缩代码。
lua脚本还提供压缩算法,但分支相对较新,因此不建议在生产级别使用。
答案 1 :(得分:9)
不,没有任何运行时压缩选项。 但是,正如dan-boa所说 - 在应用程序端实现压缩可能是个好主意。这样做可以节省Redis服务器上的CPU。您的数据库服务器不会受到压缩所需的CPU时间的影响。
在我们的一个Redis群集中,由于GZIPing基于json的blob,我们节省了82%的内存(从大约340GB到60GB)。关于它的更多想法和优化内存使用的其他方法可以在我们的文章中找到:http://labs.octivi.com/how-we-cut-down-memory-usage-by-82/