检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
订单处理:后端服务器会将订单信息保存到数据库中,并进行异步处理,例如发送消息通知用户订单状态。 缓存更新:后端服务器会更新缓存中的商品库存信息,以便处理下一次秒杀请求。 秒杀过程中多次访问数据库,下单通常是利用行级锁进行访问限制,抢到锁才能查询数据库和下单。但是秒杀时的大量订单请求,会导致数据库访问阻塞。 解决方案
使用DCS实现电商秒杀功能 本章节介绍在电商秒杀场景中,利用DCS Redis作为数据库的缓存,客户端通过访问Redis进行库存查询和下单操作,以满足电商秒杀系统高并发的需求。 使用DCS改造传统应用系统数据库 本章节以将MySQL数据库中的一张表迁移到华为云DCS Redis中为例,介绍数据迁移的过程。
Memcached已停售,建议使用Redis实例。 Memcached是一种内存Key-Value缓存系统,它支持简单字符串数据的存取,通常作为后端数据库内容缓存,以提升web的应用性能,降低对后端数据库的性能依赖,具体了解请参考Memcached(已停售)典型应用场景。 DCS全面兼容Memcached协议并增强实现了双机热备和数据持久化。
实例ID。可通过DCS控制台进入实例详情界面查看。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 project_id 是 String 参数解释: 项目ID。获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 请求参数 无 响应参数 状态码:
连接Redis”,进入Web CLI登录界面,如下图所示。 图1 进入Web CLI登录界面 输入实例的访问密码进入Web CLI,然后选择当前操作的Redis数据库,在命令输入框输入Redis命令,按Enter键执行。 控制台连接实例空闲超过5分钟会连接超时,再次登录需要重新输入访问密码。 免密访问的Redis实例无需输入密码。
具体步骤请参见查看和修改DCS实例基本信息。 登录弹性云服务器。 弹性云服务器操作系统,这里以Window为例。 在弹性云服务器安装VS 2017社区版。 启动VS 2017,新建一个工程。 工程名自定义,这里设置为“redisdemo”。 使用VS的nuget管理工具安装C# Redis客户端StackExchange
RDB文件,确保业务数据均已同步到RDB文件中。 测试数据可以在导入后删除。 如果有某个数据库没有被业务系统使用,可以将测试数据写入该数据库,待导入DCS后,使用flushdb命令清空该数据库。 单机实例如果不做持久化配置,则RDB文件需要临时生成,导出耗时较主备实例相比稍多一些。
F文件整库导入。 AOF文件为所有数据更改命令的全量集合,数据文件稍大。 - Rump 支持在线迁移,支持在同一个实例的不同数据库之间,以及不同实例的数据库之间迁移。 不支持增量迁移。 建议停业务后迁移,避免出现Key丢失。详情参考使用Rump在线迁移其他云厂商Redis。 Redis-shake
DCS实例是否支持跨VPC访问? 跨VPC访问,即客户端和实例不在同一个VPC。 对于未开启公网访问的实例,一般情况下,不同VPC间网络不互通,不在同一VPC下的弹性云服务器无法访问DCS缓存实例。 可以通过创建VPC对等连接,将两个VPC的网络打通,实现跨VPC访问DCS缓存实例。
query-string:查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“?limit=10”,表示查询不超过10条数据。 例如您需要创建IAM用户,由于IAM为全局服务,则使用任一区域的Endpoint(比如“华北-北京四”区域的Endpoint:“iam
Go-redis客户端连接Redis 登录弹性云服务器。 弹性云服务器操作系统,这里以Window为例。 在弹性云服务器安装VS 2017社区版。 启动VS 2017,新建一个工程,工程名自定义,这里设置为“redisdemo”。 导入go-redis的依赖包,在终端输入go get github
实例ID。可通过DCS控制台进入实例详情界面查看。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 project_id 是 String 参数解释: 项目ID。获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 请求参数 无 响应参数 状态码:
项目ID。获取方法请参见获取项目ID。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 instance_id 是 String 参数解释: 实例ID。可通过DCS控制台进入实例详情界面查看。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 请求参数 无 响应参数 状态码:
Redis实例 测量维度: dcs_instance_id 1分钟 used_memory_peak 已用内存峰值 该指标用于统计Redis服务器启动以来使用内存的峰值。 单位:可在控制台进行选择,如KB、MB、byte等。 >=0byte 测量对象: Redis实例 测量维度: dcs_instance_id
使用DCS实现视频直播弹幕和社交网站评论的功能 使用DCS实现游戏开合服的数据同步 使用DCS实现电商秒杀功能 使用DCS改造传统应用系统数据库 升级Redis 3.0实例到高版本实例
据持久化文件压缩并转移到OBS服务中存储,从而实现实例数据备份。 DCS以小时为单位,定期检查所有实例的备份策略,对于需要执行备份的实例,启动备份任务。 备份时间点的选择 建议选择业务量少的时间段进行备份。 备份文件的存储 备份文件存储在对象存储服务(OBS)中。 自动备份异常的处理
管理实例生命周期 重启DCS实例 关闭/启动DCS实例 删除DCS实例 清空DCS实例数据
在使用控制台进行数据迁移时,如果出现迁移方案选择错误、在线迁移源Redis没有放通SYNC和PSYNC命令、源Redis和目标Redis网络不连通等问题,都会导致迁移失败。 本章节主要介绍使用DCS控制台进行数据迁移时迁移失败的问题排查和解决。 排查步骤 单击已创建的迁移任务名称,进入迁移任务页面。
Boolean proxy实例是否开启了多DB。 db String Redis数据库。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_msg String 参数解释: 错误信息。 取值范围: 不涉及。 error_code String 参数解释: 错误码。 取值范围:
Boolean proxy实例是否开启了多DB。 db String Redis数据库。 状态码: 400 表7 响应Body参数 参数 参数类型 描述 error_msg String 参数解释: 错误信息。 取值范围: 不涉及。 error_code String 参数解释: 错误码。 取值范围: