检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
Proxy集群实例要求传入的key都在同一个slot中。 MSETNX Transactions(事务) WATCH Proxy集群实例要求传入的key都在同一个slot中。 MULTI 不保证事务中跨slot命令的有序性。 事务中禁用的命令:WATCH, MONITOR, RANDOMKEY, KEYS
Memcached已停售,建议使用Redis实例。 Memcached是一种内存Key-Value缓存系统,它支持简单字符串数据的存取,通常作为后端数据库内容缓存,以提升web的应用性能,降低对后端数据库的性能依赖,具体了解请参考Memcached(已停售)典型应用场景。 DCS全面兼容Memcached协议并增强实现了双机热备和数据持久化。
容灾和多活策略 DCS缓存实例都存储着大量关键数据,不论是作为数据库前端缓存,还是作为数据存储引擎,数据的可靠性与服务的连续可用性是DCS服务设计上为客户考虑的核心因素,下图展示了DCS在数据和服务方面的容灾架构设计演进。 图1 DCS容灾架构演进 根据对数据与服务的不同可靠性要
d对应的value。 MySQL数据库所在服务器与DCS缓存实例网络互通。 MySQL数据库与Redis实例所在VPC为同一VPC 同一VPC内网络默认互通。 MySQL数据库与Redis实例所在VPC为相同region下的不同VPC 如果MySQL数据库所在VPC与Redis实
使用DCS实现电商秒杀功能 本章节介绍在电商秒杀场景中,利用DCS Redis作为数据库的缓存,客户端通过访问Redis进行库存查询和下单操作,以满足电商秒杀系统高并发的需求。 使用DCS改造传统应用系统数据库 本章节以将MySQL数据库中的一张表迁移到华为云DCS Redis中为例,介绍数据迁移的过程。
Redis实例支持多DB方式的情况如下: Redis单机、读写分离和主备缓存实例支持多数据库(多DB),默认256个,DB编号为0-255。默认使用的是DB0。多数据库主要用于数据隔离,每个数据库的大小不是平均分配,可能会出现一个数据库将实例的内存完全占用的情况。 Redis Proxy集群默认只有一个DB。
zset元素尽量不超过5000个。 Key的命名前缀为业务缩写,禁止包含特殊字符(比如空格、换行、单双引号以及其他转义字符)。 Redis事务功能较弱,不建议过多使用。 短连接性能差,推荐使用带有连接池的客户端。 如果只是用于数据缓存,容忍数据丢失,建议关闭持久化。 大Key/热Key的优化方法,请参考下表。
DCS默认的逐出策略为volatile-lru,请根据业务需求选择。Redis支持的数据逐出策略 以缓存方式使用Redis Redis事务功能较弱,不建议过多使用。 事务执行完后,不可回滚。 数据异常的情况下,支持清空缓存进行数据恢复。 Redis本身没有保障数据强一致的机制和协议,业务不能强依赖Redis数据的准确性。
查看DCS审计日志 DCS通过云审计服务(Cloud Trace Service,简称CTS)为您提供云服务资源的操作记录,记录内容包括您从公有云管理控制台或者开放API发起的云服务资源操作请求以及每次请求的结果,供您查询、审计和回溯使用。 云审计服务主要支持的DCS操作 表1 云审计服务主要支持的DCS操作列表
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"]
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"]
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"]
如需保证原子性,请使用事务或Lua脚本。 若Pipeline执行过程中发生错误,不支持回滚。 Pipeline没有事务的特性,如待执行的命令前后存在依赖关系,请勿使用Pipeline。 如果某些客户端(例如redis-py)在实现Pipeline时使用事务命令MULTI、EXEC
是否支持Memcached和Redis之间实例数据的迁移? 不支持,Memcached和Redis属于不同的缓存数据库,不支持互相迁移数据。 父主题: 数据备份/导出/迁移
据结构简单,不涉及太多关联查询。这种场景使用Redis,在速度上对传统磁盘数据库有很大优势,能够有效减少数据库磁盘IO,提高数据查询效率,减轻管理维护工作量,降低数据库存储成本。Redis对传统磁盘数据库是一个重要的补充,成为了互联网应用,尤其是支持高并发访问的互联网应用必不可少的基础服务之一。
Redis实例内存使用率高问题排查和解决 问题现象 Redis可提供高效的数据库服务,当内存不足时,可能导致Key频繁被逐出、响应时间上升、QPS(每秒访问次数)不稳定等问题,进而影响业务运行。由于Redis自身运行机制(主从同步、延迟释放等),内存占用率可能出现略微超过100%
订单处理:后端服务器会将订单信息保存到数据库中,并进行异步处理,例如发送消息通知用户订单状态。 缓存更新:后端服务器会更新缓存中的商品库存信息,以便处理下一次秒杀请求。 秒杀过程中多次访问数据库,下单通常是利用行级锁进行访问限制,抢到锁才能查询数据库和下单。但是秒杀时的大量订单请求,会导致数据库访问阻塞。 解决方案
登录需要重新输入访问密码。 免密访问的Redis实例无需输入密码。 单机实例支持多个数据库(DB),请选择其中一个DB进行数据存储。此处选择“Database 0”。 图2 选择Database 在命令输入框输入Redis命令,例如,通过SET命令写入一个名称为“KEY_NAME
t/ fd 连接FD。 sub 当前连接普通订阅的Channel数量。 psub 当前连接模式订阅的Channel数量。 multi 通过事务/LUA方式执行的命令数量,如果未执行过该字段显示-1。 qbuf 输入缓冲区的空间大小(字节数)。 qbuf-free 输入缓冲区的剩余空间大小(字节数)。
environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"]