检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
使用DCS实现排行榜功能 方案概述 在网页和APP中经常需要用到榜单的功能,对某个key-value的列表进行降序显示。当操作和查询并发大的时候,使用传统数据库就会遇到性能瓶颈,造成较大的时延。 使用分布式缓存服务(DCS)的Redis版本,可以实现一个商品热销排行榜的功能。它的优势在于: 数据保存在内存中,读写速度非常快。
time,简称RTT),减少read()和write()的系统调用和进程切换次数,从而提升程序的执行效率与性能。 因此,在需要执行Redis批量操作,且用户无需立即获得每个操作结果的场景下,可以使用Pipeline作为优化性能的批处理工具。 使用Pipeline时客户端将独占与服务器端的连接,此期间将不
两个用户同时发起的请求分别落在两个不同的机器上时,虽然这两个请求可以同时执行,但是因为两个机器运行在两个不同的Java虚拟机中,因此每个机器加的锁不是同一个锁,而不同的锁只对属于自己Java虚拟机中的线程有效,对其他Java虚拟机的线程无效。此时,Java提供的原生锁机制在多机部署场景下就会失效,出现库存超卖的现象。
降低预置过多或不足的风险。一般适用于电商抢购等设备需求量瞬间大幅波动的场景。 表1列出了两种计费模式的区别。 表1 计费模式 计费模式 包年/包月 按需计费 付费方式 预付费 按照订单的购买周期结算。 后付费 按照缓存实例实际使用时长计费。 计费周期 按订单的购买周期计费。 秒级计费,按小时结算。
针对DCS Redis实例的性能评估,可以使用memtier_benchmark测试某种规格的实例在某个高并发场景下执行SET或GET时的性能。 测试步骤 创建Redis缓存实例。 创建3台弹性云服务器(ECS),ECS选择与实例相同可用区、VPC、子网和安全组。 如果是测试单机或主备实例,创建1台ECS即可。
DCS的Memcached兼容的版本号是多少? DCS的Memcached是基于Redis 3.0版本引擎实现的,兼容memcache1.5.1版本。 父主题: Memcached使用
Key过大的时候会触发Redis内核对于单Key的迁移限制,造成数据迁移超时失败,Key越大失败的概率越高,大于512MB的Key可能会触发该问题。 造成数据迁移失败。 数据迁移过程中,如果一个大Key的元素过多,则会阻塞后续Key的迁移,后续Key的数据会放到迁移机的内存Buf
6.0/7.0基础版的单机、主备、Cluster集群实例支持开启SSL链路加密传输,确保数据传输过程的安全性。其他版本的实例暂不支持该功能,Redis的传输协议RESP在Redis 6.0之前的版本仅支持明文传输。 约束与限制 因SSL加密传输的原因,SSL和客户端IP透传功能无
不同的Redis实例可以重复使用相同的VPC和子网,也可以使用不同的VPC和子网,请根据实际需要进行配置。在创建VPC和子网时应注意如下要求: 创建的VPC与使用的DCS服务应在相同的区域。 创建VPC和子网时,如无特殊需求,配置参数使用默认配置即可。 创建VPC和子网的操作指导
虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。 Memcached单机实例不支持公网访问,客户端需要与实例处于相同VPC,并且配置安全组访问规则。 相关参考:如何选择和配置Redis实例以及客户端的安全组。 客户应用 运行在ECS上的客户应用程序,即实例的客户端。 Me
使用Cluster的Redis集群时建议配置合理的超时时间 客户端配置问题导致无法连接。 当集群实例备节点故障情况下,客户端使用SpringBoot + Lettuce的方式连接Redis,使用的Lettuce客户端在连接集群时,需要与所有节点先建立连接(包括故障节点)。 在未配
Key的保存时间是多久?如何设置Key的过期时间? Key的保存时间是多久? 如果没有设置过期Key,数据会一直存在。 如果设置了过期Key,过期Key的删除机制请参考过期Key扫描。 如果已经设置了过期Key,希望移除设定的过期时间,可使用Redis PERSIST命令。 如何设置过期Key?
VPC 虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。 Memcached主备实例不支持公网访问,客户端需要与主备实例处于相同VPC,并且配置安全组访问规则。 相关参考:如何选择和配置Redis实例以及客户端的安全组。 客户应用 运行在ECS上的客户应用程序,即Memcached的客户端。
存缺货,同时提供流畅的用户体验,压力巨大。 可以利用Memcached的incr/decr功能, 在内存中存储商品的库存量, 秒杀的抢单过程主要在内存中完成,速度非常快,抢单成功即得一个订单号,这时再去支付页面完成订单的后续操作。 不适用Memcached的应用场景: 单个缓存对象大于1M
区(AZ)部署。 当主备或者集群或者读写分离实例进行跨可用区部署时,如果其中一个可用区故障,另一个可用区的节点不受影响。备节点会自动升级为主节点,对外提供服务,从而提供更高的容灾能力。 实例跨可用区部署时,主备节点之间同步效率与同AZ部署相比基本无差异。 父主题: 安全性
Redis实例 仅Redis 4.0及以上的版本支持 测量维度: dcs_instance_id 1分钟 used_memory_rss 已用内存RSS 该指标用于统计Redis已使用的RSS内存。即实际驻留“在内存中”的内存数。包含堆内存,但不包括换出的内存。 单位:可在控制台进行选择,如KB、MB、byte等。
图解华为云Redis与开源服务的差异
检查网络。 核对IP地址配置。 检查jedis客户端配置的IP地址是否与DCS缓存实例的连接地址或IP地址一致,如果是通过公网访问,则检查是否与DCS缓存实例绑定的弹性IP地址一致,不一致则修改一致后重试。 测试网络。 在客户端使用ping和Telnet小工具测试网络。 如果ping不通:
0及以上版本的基础版主备实例在只读域名不带负载均衡,对于可靠性和时延敏感的应用场景,建议使用集群或读写分离类型的实例。 Redis 4.0及以上版本的基础版主备实例的只读域名在从节点发生故障场景下会出现请求失败的情况,对于可靠性和时延敏感的应用场景,建议使用读写分离类型的实例。 Redis
、读取数据(从网络链接如socket读写数据)和解析协议(解析并处理Redis命令等),依托于服务器计算能力的提升,整体性能N倍提升。 表1 企业版和基础版的能力对比 对比项 DCS基础版 DCS企业版 兼容开源Redis版本 兼容开源Redis 4.0/5.0/6.0/7.0,单线程