检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Redis实例内存使用率高问题排查和解决 问题现象 Redis可提供高效的数据库服务,当内存不足时,可能导致Key频繁被逐出、响应时间上升、QPS(每秒访问次数)不稳定等问题,进而影响业务运行。由于Redis自身运行机制(主从同步、延迟释放等),内存占用率可能出现略微超过100%
据结构简单,不涉及太多关联查询。这种场景使用Redis,在速度上对传统磁盘数据库有很大优势,能够有效减少数据库磁盘IO,提高数据查询效率,减轻管理维护工作量,降低数据库存储成本。Redis对传统磁盘数据库是一个重要的补充,成为了互联网应用,尤其是支持高并发访问的互联网应用必不可少的基础服务之一。
使用DCS改造传统应用系统数据库 方案概述 应用场景 随着互联网等数据库应用行业的逐渐发展,业务需求急速增加,数据量和并发访问量呈指数级增长,仅依附于传统关系型数据库难以支撑上层业务。传统数据库存在结构复杂、维护成本高、访问性能差、功能有限、无法轻松适应数据模型或模式的变化等问题。
Redis实例支持多DB方式的情况如下: Redis单机、读写分离和主备缓存实例支持多数据库(多DB),默认256个,DB编号为0-255。默认使用的是DB0。多数据库主要用于数据隔离,每个数据库的大小不是平均分配,可能会出现一个数据库将实例的内存完全占用的情况。 Redis Proxy集群默认只有一个DB。
时间,不可把Redis作为数据库使用。 失效时间并非越长越好,需要根据业务性质进行设置。 防止缓存击穿 推荐搭配本地缓存使用Redis,对于热点数据建立本地缓存。本地缓存数据使用异步方式进行刷新。 - 防止缓存穿透 非关键路径透传数据库,建议对访问数据库进行限流。 - 从Redi
容灾和多活策略 DCS缓存实例都存储着大量关键数据,不论是作为数据库前端缓存,还是作为数据存储引擎,数据的可靠性与服务的连续可用性是DCS服务设计上为客户考虑的核心因素,下图展示了DCS在数据和服务方面的容灾架构设计演进。 图1 DCS容灾架构演进 根据对数据与服务的不同可靠性要
Memcached已停售,建议使用Redis实例。 Memcached是一种内存Key-Value缓存系统,它支持简单字符串数据的存取,通常作为后端数据库内容缓存,以提升web的应用性能,降低对后端数据库的性能依赖,具体了解请参考Memcached(已停售)典型应用场景。 DCS全面兼容Memcached协议并增强实现了双机热备和数据持久化。
Key的保存时间是多久?如何设置Key的过期时间? Key的保存时间是多久? 如果没有设置过期Key,数据会一直存在。 如果设置了过期Key,过期Key的删除机制请参考过期Key扫描。 如果已经设置了过期Key,希望移除设定的过期时间,可使用Redis PERSIST命令。 如何设置过期Key?
是否支持Memcached和Redis之间实例数据的迁移? 不支持,Memcached和Redis属于不同的缓存数据库,不支持互相迁移数据。 父主题: 数据备份/导出/迁移
如果目的实例为Cluster集群实例。Cluster集群实例只有1个库。 两个解决思路: 源Redis的不同DB合到同一个数据库。 申请多个DCS缓存实例。 迁移后实例连接地址和数据库编号有变化,业务注意改造和适配。 如果目的实例为Proxy集群。 Proxy集群默认不开启多DB,仅有一个DB
DCS的Redis实例中执行一遍。 保持以上状态运行一段时间后(等待较多的旧数据过期删除),把系统的缓存数据库正式切到华为云DCS。如涉及业务系统迁移云服务,需要在缓存数据库切换前完成业务系统的部署。 不推荐使用这种方式。原因如下: 网络无法保证稳定快速,如果源Redis实例不在
-value的列表进行降序显示。当操作和查询并发大的时候,使用传统数据库就会遇到性能瓶颈,造成较大的时延。 使用分布式缓存服务(DCS)的Redis版本,可以实现一个商品热销排行榜的功能。它的优势在于: 数据保存在内存中,读写速度非常快。 提供字符串(String)、链表(Lis
CLI。 控制台连接实例空闲超过5分钟会连接超时,再次登录需要重新输入访问密码。 免密访问的Redis实例无需输入密码。 单机实例支持多个数据库(DB),请选择其中一个DB进行数据存储。此处选择“Database 0”。 图2 选择Database 在命令输入框输入Redis命令,
使用前必读 欢迎使用分布式缓存服务(Distributed Cache Service)。分布式缓存服务是一款内存数据库服务,兼容了Redis和Memcached两种内存数据库引擎,为您提供即开即用、安全可靠、弹性扩容、便捷管理的在线分布式缓存能力,满足用户高并发及数据快速访问的业务诉求。
影响较小。如果是单机实例,由于只有一个节点,是对主节点进行分析,客户访问性能会略有影响。 对于大Key分析任务,每个Redis实例默认最多保存100次分析任务的记录,当超过100条记录时会默认删除最老的分析记录,而存入最新的记录。同时,支持用户在控制台上手动删除无用的大Key分析记录。
至会导致主备切换。 易造成缓存击穿。 热Key的请求压力过大,超出Redis的承受能力易造成缓存击穿,即大量请求将被直接指向后端的数据库,导致数据库访问量激增甚至宕机,从而影响其他业务。 父主题: 大Key/热Key分析/过期Key扫描
传输加密诉求,建议在数据存储前使用加密算法进行加密后传输(例如AES 256等),并且控制在信任域内进行访问,加密后的数据在落盘保存时同样也会加密保存。 自动备份和手工备份 DCS提供自动备份和手工备份两种备份操作。自动备份默认未开启,需要租户选择是否开启,备份存储期限最多7天,
源Redis在数据库编号0和2中有数据,生成的AOF或RDB文件包含了这两个库。 在导入到Proxy集群实例时会忽略“select 2”的命令,然后继续导入源数据库2中的数据到DB0中。 用户需要注意以下: 源Redis中不同数据库包含了相同的key,则导入时,编号靠前的数据库的key
将大Key单独转移到其余存储介质。 无法拆分的大Key建议使用此方法,将不适用Redis能力的数据存至其它存储介质,如SFS或者其余NoSQL数据库,并在Redis中删除该大Key。 注意: 禁止使用DEL直接删除大Key,可能会造成Redis阻塞,甚至主备倒换。Redis 4.0及以
安全、故障恢复等方面的问题。 DCS基于开源Redis、Memcached向用户提供一定程度定制化的缓存服务,因此,除了拥有开源服务缓存数据库的优秀特性,DCS提供更多实用功能。 与开源Redis差异 表1 DCS与自建开源Redis的差异说明 比较项 开源Redis DCS Redis