检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
主备实例的只读地址是连接到主节点还是备节点? Redis 4.0及以上版本基础版主备实例的连接信息中,有“连接地址”和“只读地址”。其中,连接地址是连接主备实例的主节点,只读地址是连接主备实例的备节点。 详情可以参考Redis 4.0/5.0/6.0基础版主备实例架构设计。 图1 连接信息
在RESP3协议中,主要是借助了PUSH类型的消息来实现服务端的主动推送通知。在普通模式中,Redis会记住每个客户端请求的key,当该key所对应的value发⽣变化时,将会发送失效消息(invalidation message)通知对应的客户端集合,但对于每个客户端仅会通知⼀次,即使后续该key所对应的valu
的查看按钮,使用大图模式查看。 在弹出的“活跃的客户端数量”页面,根据需要选择查看的时间段,例如,需要查看10分钟内的连接数,您可以将时间自定义为10分钟。由于监控数据采集的是周期内增加的连接数,您可以通过监控图表,查看这个时间段的连接数的走势,并统计10分钟内的连接总数。 监控
CLI工具除了同样不支持上述列出的禁用命令与受限命令,对keys命令也有一定的使用限制。 执行lua脚本失败。 例如报错:ERR unknown command 'EVAL' ,说明您的Redis实例属早期创建的低版本Redis实例,不支持lua脚本,这种情况请提工单联系技术支持,升级您的Redis实例。
实例类型变更后支持的命令,请参考对应的开源命令兼容性。 除了上表中提到的实例外,其他实例类型目前不支持实例类型的变更,若您想实现跨实例类型的规格变更,可参考使用迁移任务在线迁移Redis实例进行操作。 实例类型是否支持变更,以控制台实例的“变更规格”操作界面为准。 图1 支持变更的实例类型 父主题: 扩容缩容与实例升级
存缺货,同时提供流畅的用户体验,压力巨大。 可以利用Memcached的incr/decr功能, 在内存中存储商品的库存量, 秒杀的抢单过程主要在内存中完成,速度非常快,抢单成功即得一个订单号,这时再去支付页面完成订单的后续操作。 不适用Memcached的应用场景: 单个缓存对象大于1M
启动故障切换,将一个从节点升主,其他从节点从新的主节点进行复制,并通知使用该Redis的应用程序使用新地址进行连接。 客户端配置来源:Sentinel充当客户端服务发现的权威来源。客户端连接到Sentinel,请求当前负责特定业务的Redis主节点地址。如果发生故障切换,Sentinels将下发新地址。
创建DCS实例自定义参数模板 不同Redis版本及类型的实例对应了不同的系统默认参数模板,系统默认参数模板中包含实例的默认参数配置。用户也可以根据业务需求创建不同参数配置的自定义参数模板,在创建实例时,会根据选择的参数模板,创建对应参数配置的实例。 本节介绍如何在分布式缓存服务管理控制台创建和修改自定义参数模板。
标Redis实例的连接地址。 {target_redis_port}:目标Redis实例的连接端口号。 {target_redis_password}:目标Redis实例的连接密码。 在命令返回的结果中,获取所有master节点的IP端口,如下如所示: 在准备好的华为云ECS上安装迁移工具RedisShake。
本文将介绍如何利用RedisShake的Rump模式,以在线全量的迁移方式,一次性将其他云厂商Redis迁移至华为云DCS中。 图1 本方案数据流向示意图 约束与限制 Rump模式不支持增量数据迁移,建议您先停止源端Redis的写入再进行迁移,防止数据不一致。 该方案配置只支持同DB映射迁移,异DB映射迁移该方案配置不适用。
在未配置timeout超时的情况下,模拟备节点故障时,可能出现分钟级的超时阻塞(Lettuce客户端的老版本默认超时为120s,新版本默认为60s),配置如下图: 可能会导致端到端业务访问时间过长(最长达到默认超时时间),如下图所示: 在客户端侧添加timeout参数后,备节点超时时间
Redis 7.0支持及禁用的命令 华为云DCS Redis 7.0完全兼容开源Redis 7。 本章节主要介绍DCS Redis 7.0命令的兼容性,包括支持命令列表,禁用命令列表。 DCS Redis缓存实例支持Redis的绝大部分命令,任何兼容Redis协议的客户端都可以访问DCS。
DCS单机和主备实例已使用内存为redis-server进程统计的已使用内存。集群是基于分片机制实现的,集群的已使用内存为各个分片redis-server的已使用内存的总和。 由于开源redis-server内部机制的原因,有时会出现DCS缓存实例已使用内存略大于可使用内存的情况,此为正常现象。 Redis通
“账号名称”为“default”的账号为实例的“默认账号”,默认账号的权限为读写权限,该账号的密码即缓存实例的访问密码。 单击“创建账号”,可以创建普通账号。 如果Redis实例开启了免密访问,创建的普通账号不生效,仅支持默认账号。如需使用普通账号请先关闭默认账号的免密访问:单击默认账号对
单击“节点管理”或“分片与副本”,进入实例的节点管理页面。 界面显示该实例的所有分片列表,包含“分片名称”、“分片ID”和该分片下的“副本数”。 单击分片名称前面的图标,展开当前分片下的所有副本。包含“副本IP”、“节点ID”、“副本ID”、“状态”“副本角色”和副本所在的“可用区”。 图1 节点管理(集群实例)
内(即不同的物理机房)。不同可用区的电力、网络相互隔离,当主节点所在的机房因为电力或者网络出现故障,备节点将接管服务,客户端与备节点正常建立连接以及读写数据。 图4 主备实例跨可用区示意图 图5 读写分离实例跨可用区示意图 图6 Proxy集群实例跨可用区示意图 图7 Cluster集群实例跨可用区示意图
未开启公网访问的DCS缓存实例,本地环境不能直接连接DCS缓存实例。云服务采用虚拟私有云(VPC)管理各服务的网络安全,用户创建的DCS缓存实例,只允许被与实例网络互通的虚拟私有云的弹性云服务器访问。 用户可以通过网络代理转发的方式,用一台能与DCS缓存实例网络互通的弹性云服务器(
开启公网公网状态显示“成功”后,表示开启公网访问成功。 单击左侧菜单栏的“概览”,返回实例基本信息页面查看公网访问信息。如需关闭公网访问,单击“关闭”。 下图中的“EIP”地址为Redis实例的公网访问地址,“监听器”后的端口号为公网访问的端口。 图2 公网访问连接地址 主备实例开启公网访问后,会生成两个监听
0及以上版本的基础版主备实例在只读域名不带负载均衡,对于可靠性和时延敏感的应用场景,建议使用集群或读写分离类型的实例。 Redis 4.0及以上版本的基础版主备实例的只读域名在从节点发生故障场景下会出现请求失败的情况,对于可靠性和时延敏感的应用场景,建议使用读写分离类型的实例。 Redis
定期删除:由Redis的定时任务函数实现,该函数以一定的频率运行,每次运行时,都从键空间中取出一定数量的随机Key进行检查,并删除其中的过期键。 不是每次定时任务都会检查所有的Key,而是随机检查一定数量的Key,该机制旨在防止阻塞Redis主进程太久而造成业务阻塞,所以会造成已过期的Key释放内存速度较慢。