您的位置:首页 > 数据库 > Redis

【Azure Redis 缓存】Redis导出数据文件变小 / 在新的Redis复原后数据大小压缩近一倍问题分析

2021-11-15 20:52 696 查看

问题描述

使用 Azure Cache for Redis 服务,在两个Redis服务之间进行数据导入和导出测试。在Redis中原本有7G的数据值,但是导出时候发现文件大小仅仅只有30MB左右,这个压缩比这么大吗? 然后把导出文件导入到第二个Redis服务中,数量大小也只有500MB左右,问题是:由原来的7G变为现在的500MB,如何来确认没有丢失数据呢?

(Azure Cache For Redis服务导出数据都保存在Azure Storage Account的Blob中) 

 

问题解答

该现象是一个正常的行为,在导出后应该注意的是Keys数量是否相同,而不是文件Size大小。只要确认两个Redis库之间 Keys 数量基本一致。那就表明,没有数据丢失。可以在Azure Redis门户Overview页面,通过Console数据 info keyspace 来查看当前库中所含Keys的数量。

关于压缩比的问题,因为导出功能是把Redis中的Key/Value生成RDB文件,这是Redis本身的行为,并不是Azure平台的特性功能。通过查看 Redis 的官方文档(https://raw.githubusercontent.com/redis/redis/6.0/redis.conf), 默认使用的是 LZF 压缩算法。

# Compress string objects using LZF when dump .rdb databases?
# By default compression is enabled as it's almost always a win.
# If you want to save some CPU in the saving child set it to 'no' but
# the dataset will likely be bigger if you have compressible values or keys.
rdbcompression yes

 

参考文件

在 Azure Redis 缓存中导入和导出数据 : https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-how-to-import-export-data

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐