华为云用户手册
-
单机实例特点 系统资源消耗低,支持高QPS 单机实例不涉及数据同步、数据持久化所需消耗的系统开销,因此能够支撑更高的并发。Memcached的单机实例QPS达到10万以上。 进程监控,故障后自动恢复 D CS 部署了业务高可用探测,单机实例故障后,30秒内会重启一个新的进程,恢复业务。 即开即用,数据不做持久化 单机实例开启后不涉及数据加载,即开即用。如果服务QPS较高,可以考虑进行数据预热,避免给后端数据库产生较大的并发冲击。 低成本,适用于开发测试 单机实例各种规格的成本相对主备减少40%以上。适用于开发、测试环境搭建。 总体说来,单机实例支持读写高并发,但不做持久化,实例重启时不保存原有数据。单机实例主要服务于数据不需要由缓存实例做持久化的业务场景,如数据库前端缓存,用以提升数据读取效率,减轻后端并发压力。当缓存中查询不到数据,可穿透至磁盘数据库中获取,同时,重启服务、缓存实例时,可从磁盘数据库中获取数据进行预热,降低后端服务在启动初期的压力。
-
实例架构设计 DCS的Memcached单机实例架构,如图1所示。 图1 Memcached单机实例示意图 示意图说明: VPC 虚拟私有云。实例的内部所有服务器节点,都运行在相同VPC中。 Memcached单机实例不支持公网访问,客户端需要与实例处于相同VPC,并且配置安全组访问规则。 相关参考:如何选择和配置Redis实例以及客户端的安全组。 客户应用 运行在ECS上的客户应用程序,即实例的客户端。 Memcached实例兼容开源协议,可直接使用开源客户端进行连接,关于多语言客户端连接示例,请参考用户指南的连接缓存实例。 DCS缓存实例 DCS实例,单机实例只有1个节点,1个Memcached进程。 DCS实时探测实例可用性,当Memcached进程故障后,DCS为实例重新拉起一个新的Memcached进程,恢复业务。 Memcached实例访问端口为11211。
-
实例单Region跨可用区灾备 除单机实例外,其他类型的缓存实例都支持将主备节点部署在不同的可用区内(即不同的物理机房)。不同可用区的电力、网络相互隔离,当主节点所在的机房因为电力或者网络出现故障,备节点将接管服务,客户端与备节点正常建立连接以及读写数据。 图4 主备实例跨可用区示意图 图5 读写分离实例跨可用区示意图 图6 Proxy集群实例跨可用区示意图 图7 Cluster集群实例跨可用区示意图 对于同城容灾,只需要在创建主备/集群/读写分离实例时,选择与主可用区不同的备可用区。如下图所示: 图8 购买实例选择不同可用区部署 您的应用也可以部署为跨可用区的HA模式,这样不仅能保证数据高可靠,还能在机房遇到断电或网络故障时,服务继续可用。
-
实例跨Region多活 当前Redis没有成熟的双活(Active-Active,注意不同于灾备或者主备高可用)方案,华为云DCS不支持跨Region多活功能。 这是由于私有定制Redis通信协议(RESP协议)的标准无法统一等原因无法实现跨云/Region的Redis侧双活,因此,如果需要双活,可以通过应用侧进行双写改造实现。 图9 应用侧双写实现多活 说明: 双写方案无法保证缓存的一致性(网络出现问题),需要应用侧可以容忍对应的缓存不一致场景(通过设置过期时间等达到最终一致性),应用如果依赖缓存强一致性,则不合适该方案,跨Region缓存强一致性当前业界没有方案可以实现。 建议操作跨Region的二级缓存采用异步的方式。
-
实例单Region单可用区高可用 同一机房即单可用区。单可用区灾备策略主要包括进程/服务高可用,数据持久化到磁盘,以及实例节点间热备三种不同层次。 在单可用区内,单机实例通过进程守护的方式确保服务高可用,当DCS监测到缓存实例进程故障,马上拉起一个新的进程继续提供服务。 图2 单可用区内单机实例高可用 除单机实例外,主备、读写分离和集群实例默认都支持数据持久化,数据不仅会持久化到实例主节点磁盘,还会增量同步到备节点,同时备节点也会持久化一份数据。实现了节点热备和持久化文件多个备份。 主备、读写分离实例的主备节点进程,以及集群实例每个分片内主备节点进程的数据同步和持久化方式如下图所示。 图3 单可用区内主备节点间高可用
-
Redis 7.0禁用的命令 表3 Redis 7.0单机/主备/Cluster集群实例的禁用命令 Generic (Key) Server Cluster MIGRATE ACL DELUSER CLUSTER ADDSLOTS - ACL LOAD CLUSTER ADDSLOTSRANGE - ACL SAVE CLUSTER BUMPEPOCH - ACL SETUSER CLUSTER COUNT-FAILURE-REPORTS - BGREWRITEAOF CLUSTER DELSLOTS - BGSAVE CLUSTER DELSLOTSRANGE - CONFIG RESETSTAT CLUSTER FLUSHSLOTS - CONFIG SET CLUSTER FORGET - CONFIG REWRITE CLUSTER MEET - MODULE LIST CLUSTER REPLICATE - MODULE LOAD CLUSTER RESET - MODULE LOADEX CLUSTER SAVECONFIG - MODULE UNLOAD CLUSTER SET-CONFIG-EPOCH - PSYNC CLUSTER SETSLOT - REPLICAOF - - SAVE - - SHUTDOWN - - SLAVEOF - - SYNC - - DEBUG -
-
Redis 7.0支持的命令 各个命令的具体详细语法请前往Redis官方网站查看,例如您想了解SCAN命令的使用,可在Redis官方网站中搜索框中输入“SCAN”查询详细介绍。 表1 Redis 7.0单机/主备/Cluster集群实例支持命令清单1 Generic (Key) String Hash List Set Sorted Set Server Bitmap COPY APPEND HDEL BLMOVE SADD BZMPOP ACL CAT BITCOUNT DEL DECR HEXISTS BLMPOP SCARD BZPOPMAX ACL DRYRUN BITFIELD DUMP DECRBY HGET BLPOP SDIFF BZPOPMIN ACL GENPASS BITFIELD_RO EXISTS GET HGETALL BRPOP SDIFFSTORE ZADD ACL GETUSER BITOP EXPIRE GETDEL HINCRBY BRPOPLPUSH SINTER ZCARD ACL LIST BITPOS EXPIREAT GETEX HINCRBYFLOAT LINDEX SINTERCARD ZCOUNT ACL LOG GETBIT EXPIRETIME GETRANGE HKEYS LINSERT SINTERSTORE ZDIFF ACL USERS SETBIT KEYS GETSET HLEN LLEN SISMEMBER ZDIFFSTORE ACL WHOAMI - MOVE INCR HMGET LMOVE SMEMBERS ZINCRBY COMMAND COUNT - OBJECT ENCODING INCRBY HMSET LMPOP SMISMEMBER ZINTER COMMAND DOCS - OBJECT FREQ INCRBYFLOAT HRANDFIELD LPOP SMOVE ZINTERCARD COMMAND GETKEYS - OBJECT IDLETIME LCS HSCAN LPOS SPOP ZINTERSTORE COMMAND GETKEYSANDFLAGS - OBJECT REFCOUNT MGET HSET LPUSH SRANDMEMBER ZLEXCOUNT COMMAND INFO - PERSIST MSET HSETNX LPUSHX SREM ZMPOP COMMAND LIST - PEXPIRE MSETNX HSTRLEN LRANGE SSCAN ZMSCORE COMMAND - PEXPIREAT PSETEX HVALS LREM SUNION ZPOPMAX CONFIG GET - PEXPIRETIME SET - LSET SUNIONSTORE ZPOPMIN DBSIZE - PTTL SETEX - LTRIM - ZRANDMEMBER FAILOVER - RANDOMKEY SETNX - RPOP - ZRANGE FLUSHALL - RENAME SETRANGE - RPOPLPUSH - ZRANGEBYLEX FLUSHDB - RENAMENX STRLEN - RPUSH - ZRANGEBYSCORE INFO - RESTORE SUBSTR - RPUSHX - ZRANGESTORE LASTSAVE - SCAN - - - - ZRANK LATENCY DOCTOR - SORT - - - - ZREM LATENCY GRAPH - SORT_RO - - - - ZREMRANGEBYLEX LATENCY HISTOG RAM - TOUCH - - - - ZREMRANGEBYRANK LATENCY HISTORY - TTL - - - - ZREMRANGEBYSCORE LATENCY LATEST - TYPE - - - - ZREVRANGE LATENCY RESET - UNLINK - - - - ZREVRANGEBYLEX LOLWUT - WAIT - - - - ZREVRANGEBYSCORE MEMORY DOCTOR - WAITAOF - - - - ZREVRANK MEMORY MALLOC-STATS - - - - - - ZSCAN MEMORY PURGE - - - - - - ZSCORE MEMORY STATS - - - - - - ZUNION MEMORY USAGE - - - - - - ZUNIONSTORE MONITOR - - - - - - - REPLCONF - - - - - - - RESTORE-ASKING - - - - - - - ROLE - - - - - - - SLOWLOG GET - - - - - - - SLOWLOG LEN - - - - - - - SLOWLOG RESET - - - - - - - SWAPDB - - - - - - - TIME - 表2 Redis 7.0单机/主备/Cluster集群实例支持命令清单2 HyperLoglog Pub/Sub Transactions Connection Scripting Geo Stream Cluster(仅Cluster集群支持) PFADD PSUBSCRIBE DISCARD AUTH EVAL GEOADD XACK ASKING PFCOUNT PUBLISH EXEC CLIENT CACHING EVAL_RO GEODIST XADD CLUSTER COUNTKEYSINSLOT PFDEBUG PUBSUB CHANNELS MULTI CLIENT GETNAME EVALSHA GEOHASH XAUTOCLAIM CLUSTER FAILOVER PFMERGE PUBSUB NUMPAT UNWATCH CLIENT GETREDIR EVALSHA_RO GEOPOS XCLAIM CLUSTER GETKEYSINSLOT PFSELFTEST PUBSUB NUMSUB WATCH CLIENT ID FCALL GEORADIUS XDEL CLUSTER INFO - PUBSUB SHARDCHANNELS - CLIENT INFO FCALL_RO GEORADIUS_RO XGROUP CREATE CLUSTER KEYSLOT - PUBSUB SHARDNUMSUB - CLIENT KILL FUNCTION DELETE GEORADIUSBYMEMBER XGROUP CREATECONSUMER CLUSTER LINKS - PUNSUBSCRIBE - CLIENT LIST FUNCTION DUMP GEORADIUSBYMEMBER_RO XGROUP DELCONSUMER CLUSTER MYID - SPUBLISH - CLIENT NO-EVICT FUNCTION FLUSH GEOSEARCH XGROUP DESTROY CLUSTER MYSHARDID - SSUBSCRIBE - CLIENT NO-TOUCH FUNCTION KILL GEOSEARCHSTORE XGROUP SETID CLUSTER NODES - SUBSCRIBE - CLIENT PAUSE FUNCTION LIST - XINFO CONSUMERS CLUSTER REPLICAS - SUNSUBSCRIBE - CLIENT REPLY FUNCTION LOAD - XINFO GROUPS CLUSTER SHARDS - UNSUBSCRIBE - CLIENT SETINFO FUNCTION RESTORE - XINFO STREAM CLUSTER SLAVES - - - CLIENT SETNAME FUNCTION STATS - XLEN CLUSTER SLOTS - - - CLIENT TRACKING SCRIPT DEBUG - XPENDING READONLY - - - CLIENT TRACKINGINFO SCRIPT EXISTS - XRANGE READWRITE - - - CLIENT UNBLOCK SCRIPT FLUSH - XREAD - - - - CLIENT UNPAUSE SCRIPT KILL - XREADGROUP - - - - ECHO SCRIPT LOAD - XREVRANGE - - - - HELLO - - XSETID - - - - PING - - XTRIM - - - - QUIT - - - - - - - RESET - - - - - - - SELECT(Cluster集群实例不支持) - - - -
-
Redis 5.0禁用的命令 以下列出了Redis 5.0实例禁用的命令。 表7 Redis 5.0单机和主备禁用命令 Generic (Key) Server MIGRATE SLAVEOF - SHUTDOWN - LASTSAVE - DEBUG相关类 - SAVE - BGSAVE - BGREWRITEAOF - SYNC - PSYNC 表8 Redis 5.0 Proxy集群实例禁用命令 Generic (Key) Server MIGRATE BGREWRITEAOF MOVE BGSAVE WAIT CLIENT相关命令 - DEBUG OBJECT - DEBUG SEGFAULT - LASTSAVE - PSYNC - SAVE - SHUTDOWN - SLAVEOF - LATENCY相关命令 - MODULE相关命令 - LOLWUT - SWAPDB - REPLICAOF - SYNC 表9 Redis 5.0 Cluster集群禁用命令 Generic (Key) Server Cluster MIGRATE SLAVEOF CLUSTER MEET - SHUTDOWN CLUSTER FLUSHSLOTS - LASTSAVE CLUSTER ADDSLOTS - DEBUG相关类 CLUSTER DELSLOTS - SAVE CLUSTER SETSLOT - BGSAVE CLUSTER BUMPEPOCH - BGREWRITEAOF CLUSTER SAVECONFIG - SYNC CLUSTER FORGET - PSYNC CLUSTER REPLICATE - - CLUSTER COUNT-FAILURE-REPORTS - - CLUSTER FAILOVER - - CLUSTER SET-CONFIG-EPOCH - - CLUSTER RESET 表10 Redis 5.0读写分离禁用命令 Generic Server MIGRATE BGREWRITEAOF WAIT BGSAVE - DEBUG OBJECT - DEBUG SEGFAULT - LASTSAVE - LOLWUT - MODULE LIST/LOAD/UNLOAD - PSYNC - REPLICAOF - SAVE - SHUTDOWN [NOSAVE|SAVE] - SLAVEOF - SWAPDB - SYNC
-
Redis 5.0支持的命令 表1和表2列举了Redis 5.0单机/主备/Cluster集群实例支持的命令。 表3和表4列举了Redis 5.0 proxy集群支持的命令。 表5和表6列举了Redis 5.0读写分离支持的命令。 各个命令的具体详细语法请前往Redis官方网站查看,例如您想了解SCAN命令的使用,可在Redis官方网站中搜索框中输入“SCAN”查询详细介绍。 Redis高版本的命令,在低版本中不被兼容。判断DCS Redis是否支持某个命令,可通过在Redis-cli执行该命令,如果得到(error)ERR unknown command ‘xxx’的提示,则说明不支持该命令。 Redis 5.0 Cluster版本集群实例使用pipeline时,要确保管道中的命令都能在同一分片执行。 表1 Redis 5.0 单机/主备/Cluster集群实例支持的命令清单1 Generic (Key) String Hash List Set Sorted Set Server DEL APPEND HDEL BLPOP SADD ZADD FLUSHALL DUMP BITCOUNT HEXISTS BRPOP SCARD ZCARD FLUSHDB EXISTS BITOP HGET BRPOPLRUSH SDIFF ZCOUNT DBSIZE EXPIRE BITPOS HGETALL LINDEX SDIFFSTORE ZINCRBY TIME MOVE DECR HINCRBY LINSERT SINTER ZRANGE INFO PERSIST DECRBY HINCRBYFLOAT LLEN SINTERSTORE ZRANGEBYSCORE KEYS PTTL GET HKEYS LPOP SISMEMBER ZRANK CLIENT KILL RANDOMKEY GETRANGE HMGET LPUSHX SMEMBERS ZREMRANGEBYRANK CLIENT LIST RENAME GETSET HMSET LRANGE SMOVE ZREMRANGEBYCORE CLIENT GETNAME RENAMENX INCR HSET LREM SPOP ZREVRANGE CLIENT SETNAME RESTORE INCRBY HSETNX LSET SRANDMEMBER ZREVRANGEBYSCORE CONFIG GET SORT INCRBYFLOAT HVALS LTRIM SREM ZREVRANK MONITOR TTL MGET HSCAN RPOP SUNION ZSCORE SLOWLOG TYPE MSET HSTRLEN RPOPLPU SUNIONSTORE ZUNIONSTORE ROLE SCAN MSETNX HLEN RPOPLPUSH SSCAN ZINTERSTORE SWAPDB OBJECT PSETEX - RPUSH - ZSCAN MEMORY PEXPIREAT SET - RPUSHX - ZRANGEBYLEX CONFIG PEXPIRE SETBIT - LPUSH - ZLEXCOUNT COMMAND KEYS SETEX - - - ZPOPMIN - - SETNX - - - ZPOPMAX - - SETRANGE - - - ZREMRANGEBYSCORE - - STRLEN - - - ZREM - - BITFIELD - - - - - 表2 Redis 5.0 单机/主备/Cluster集群实例支持的命令清单2 HyperLoglog Pub/Sub Transactions Connection Scripting Geo Stream PFADD PSUBSCRIBE DISCARD AUTH EVAL GEOADD XACK PFCOUNT PUBLISH EXEC ECHO EVALSHA GEOHASH XADD PFMERGE PUBSUB MULTI PING SCRIPT EXISTS GEOPOS XCLAIM - PUNSUBSCRIBE UNWATCH QUIT SCRIPT FLUSH GEODIST XDEL - SUBSCRIBE WATCH SELECT(Cluster集群实例不支持) SCRIPT KILL GEORADIUS XGROUP - UNSUBSCRIBE - - SCRIPT LOAD GEORADIUSBYMEMBER XINFO - - - - - - XLEN - - - - - - XPENDING - - - - - - XRANGE - - - - - - XREAD - - - - - - XREADGROUP - - - - - - XREVRANGE - - - - - - XTRIM 表3 Redis 5.0 proxy集群支持的命令清单1 Generic (Key) String Hash List Set Sorted Set Server DEL APPEND HDEL BLPOP SADD ZADD FLUSHALL (不支持FLUSHALL SYNC) DUMP BITCOUNT HEXISTS BRPOP SCARD ZCARD FLUSHDB EXISTS BITOP HGET BRPOPLRUSH SDIFF ZCOUNT DBSIZE EXPIRE BITPOS HGETALL LINDEX SDIFFSTORE ZINCRBY TIME MOVE DECR HINCRBY LINSERT SINTER ZRANGE INFO PERSIST DECRBY HINCRBYFLOAT LLEN SINTERSTORE ZRANGEBYSCORE ROLE PTTL GET HKEYS LPOP SISMEMBER ZRANK MEMORY RENAME GETRANGE HMGET LPUSHX SMEMBERS ZREMRANGEBYRANK COMMAND RENAMENX GETSET HMSET LRANGE SMOVE ZREMRANGEBYCORE COMMAND COUNT RESTORE INCR HSET LREM SPOP ZREVRANGE COMMAND GETKEYS SORT INCRBY HSETNX LSET SRANDMEMBER ZREVRANGEBYSCORE COMMAND INFO TTL INCRBYFLOAT HVALS LTRIM SREM ZREVRANK CONFIG GET TYPE MGET HSCAN RPOP SUNION ZSCORE CONFIG RESETSTAT SCAN MSET HSTRLEN RPOPLPUSH SUNIONSTORE ZUNIONSTORE CONFIG REWRITE OBJECT MSETNX HLEN RPUSH SSCAN ZINTERSTORE CONFIG SET PEXPIRE PSETEX HKEYS RPUSHX - ZSCAN - PEXPIREAT SET - LPUSH - ZRANGEBYLEX - EXPIREAT SETBIT - - - ZLEXCOUNT - KEYS SETEX - - - ZREMRANGEBYSCORE - UNLINK SETNX - - - ZREM - TOUCH SETRANGE - - - ZREMRANGEBYLEX - RANDOMKEY STRLEN - - - ZPOPMAX - - BITFIELD - - - ZPOPMIN - - GETBIT - - - BZPOPMAX - - - - - - BZPOPMIN - - - - - - ZREVRANGEBYLEX - 表4 Redis 5.0 proxy集群支持的命令清单2 HyperLoglog Pub/Sub Transactions Connection Scripting Geo Cluster PFADD PSUBSCRIBE DISCARD AUTH EVAL GEOADD CLUSTER INFO PFCOUNT PUBLISH EXEC ECHO EVALSHA GEOHASH CLUSTER NODES PFMERGE PUBSUB MULTI PING SCRIPT EXISTS GEOPOS CLUSTER SLOTS - PUNSUBSCRIBE UNWATCH QUIT SCRIPT FLUSH GEODIST CLUSTER ADDSLOTS - SUBSCRIBE WATCH SELECT SCRIPT KILL GEORADIUS ASKING - UNSUBSCRIBE - CLIENT KILL SCRIPT LOAD GEORADIUSBYMEMBER READONLY - - - CLIENT LIST SCRIPT DEBUG YES|SYNC|NO GEOSEARCH READWRITE - - - CLIENT GETNAME - GEOSEARCHSTORE - - - - CLIENT SETNAME - - - 上表中的Cluster类命令,仅2022/9/1日及之后创建的proxy集群实例支持。 表5 Redis 5.0读写分离支持的命令清单1 Generic (Key) String Hash List Set Sorted Set Server DEL APPEND HDEL BLPOP SADD ZADD FLUSHALL (不支持FLUSHALL SYNC) DUMP BITCOUNT HEXISTS BRPOP SCARD ZCARD FLUSHDB EXISTS BITOP HGET BRPOPLRUSH SDIFF ZCOUNT DBSIZE EXPIRE BITPOS HGETALL LINDEX SDIFFSTORE ZINCRBY TIME MOVE DECR HINCRBY LINSERT SINTER ZRANGE INFO PERSIST DECRBY HINCRBYFLOAT LLEN SINTERSTORE ZRANGEBYSCORE MONITOR PTTL GET HKEYS LPOP SISMEMBER ZRANK SLOWLOG RANDOMKEY GETRANGE HMGET LPUSHX SMEMBERS ZREMRANGEBYRANK ROLE RENAME GETSET HMSET LRANGE SMOVE ZREMRANGEBYCORE SWAPDB RENAMENX INCR HSET LREM SPOP ZREVRANGE MEMORY RESTORE INCRBY HSETNX LSET SRANDMEMBER ZREVRANGEBYSCORE COMMAND SORT INCRBYFLOAT HVALS LTRIM SREM ZREVRANK COMMAND COUNT TTL MGET HSCAN RPOP SUNION ZSCORE COMMAND GETKEYS TYPE MSET HSTRLEN RPOPLPUSH SUNIONSTORE ZUNIONSTORE COMMAND INFO SCAN MSETNX HLEN RPUSH SSCAN ZINTERSTORE CONFIG GET OBJECT PSETEX - RPUSHX - ZSCAN CONFIG RESETSTAT PEXPIRE SET - LPUSH - ZRANGEBYLEX CONFIG REWRITE PEXPIREAT SETBIT - - - ZLEXCOUNT CONFIG SET EXPIREAT SETEX - - - ZREMRANGEBYSCORE - KEYS SETNX - - - ZREM - UNLINK SETRANGE - - - ZREMRANGEBYLEX - TOUCH STRLEN - - - BZPOPMAX - - BITFIELD - - - BZPOPMIN - - GETBIT - - - ZPOPMAX - - - - - - ZPOPMIN - - - - - - ZREVRANGEBYLEX - 表6 Redis 5.0读写分离支持的命令清单2 HyperLoglog Pub/Sub Transactions Connection Scripting Geo Stream PFADD PSUBSCRIBE DISCARD AUTH EVAL GEOADD XACK PFCOUNT PUBLISH EXEC ECHO EVALSHA GEOHASH XADD PFMERGE PUBSUB MULTI PING SCRIPT EXISTS GEOPOS XCLAIM - PUNSUBSCRIBE UNWATCH QUIT SCRIPT FLUSH GEODIST XDEL - SUBSCRIBE WATCH SELECT SCRIPT KILL GEORADIUS XGROUP - UNSUBSCRIBE - CLIENT KILL SCRIPT LOAD GEORADIUSBYMEMBER XINFO - - - CLIENT LIST SCRIPT DEBUG YES|SYNC|NO GEOSEARCH XLEN - - - CLIENT GETNAME - GEOSEARCHSTORE XPENDING - - - CLIENT SETNAME - - XRANGE - - - - - - XREAD - - - - - - XREADGROUP - - - - - - XREVRANGE - - - - - - XTRIM
-
数据保护技术 DCS通过多种数据保护手段和特性,保障DCS的数据安全可靠。 表1 DCS的数据保护手段和特性 数据保护手段 简要说明 详细介绍 容灾和多活 根据对数据与服务的不同可靠性要求,您可以选择将缓存实例部署在单可用区内(单机房),或者跨可用区(同城灾备)。 容灾多活策略 副本冗余 副本通过增量数据同步的方式保持缓存数据一致,当网络发生异常或节点故障时,通过冗余副本自动故障切换,并且故障恢复后进行一次全量同步,保持数据一致性。 数据复制 数据持久化 业务系统日常运行中可能出现一些小概率的异常事件。部分可靠性要求非常高的业务系统,除了要求缓存实例高可用,还要求缓存数据安全、可恢复,甚至永久保存,以便在缓存实例发生异常后能够使用备份数据进行恢复,保障业务正常运行。 备份与恢复 父主题: 安全
-
公网访问 针对Redis 3.0实例,可以为其绑定一个弹性公网IP地址,客户端通过公网ip进行访问。Redis 4.0、Redis 5.0和Redis 6.0实例支持通过ELB实现公网访问功能,请参考开启Redis 4.0/5.0/6.0公网访问并获取公网访问地址。 公网访问使用Stunnel工具对通信内容加密,网络延时比VPC内通信略高,适用于开发阶段联调本地环境测试。 具体使用请参考:公网连接Redis3.0实例以及Stunnel工具的使用
-
Memcached(已停售)典型应用场景 Memcached主要存储字符串类的简单key-value数据。 静态页面缓存。 Web页面的内容片段,包括HTML, CSS 和图片等静态数据,内容修改操作少,读取频繁,可以缓存到DCS Memcached实例,提高网站的访问性能。 数据库前端缓存。 在动态系统中存在对大量数据读多写少的场景,如社交、博客网站大量查询用户信息、好友信息、文章信息等。为了减少磁盘数据库负载,提升性能,这些经常需要从数据库读取的数据,可以缓存在Memcached中。 适宜缓存的数据主要有: 经常被读取,实时性要求不高,且可以自动过期的数据。 例如网站首页最新文章列表、某某排行等数据,虽然新数据不断产生,但对用户体验影响比较小。这类数据可使用典型的缓存策略,设置合理的过期时间,当数据过期以后再从数据库中读取。为了让编辑或者其它人员能马上看到效果,可以再定一个缓存清除/刷新策略。 经常被读取并且实时性要求强的数据。 比如用户的好友列表,用户文章列表,用户阅读记录等。这类数据首先被载入到Memcached中,当发生更改(添加、修改、删除)时就刷新缓存数据。 秒杀功能。 商品下单操作,牵涉数据库读取,写入订单,更改库存,及事务一致性要求, 对于使用传统型数据库的平台来说,秒杀活动阶段要避免订单创建后库存缺货,同时提供流畅的用户体验,压力巨大。 可以利用Memcached的incr/decr功能, 在内存中存储商品的库存量, 秒杀的抢单过程主要在内存中完成,速度非常快,抢单成功即得一个订单号,这时再去支付页面完成订单的后续操作。 不适用Memcached的应用场景: 单个缓存对象大于1M Memcached单个缓存对象的value值不能超过1M。超过1M的场景,建议使用Redis。 Key的长度大于250字符 如确需使用Memcached,可将key先进行md5,得到散列值,然后存储key对应的散列值。 业务需要保证数据高可靠 开源Memcached不支持持久化数据,无法存副本、备份以及数据迁移。 注意:DCS的Memcached主备版本实现了数据持久化,具体可联系技术支持。 对数据结构和处理有高级要求 Memcached只支持key-value简单结构,不支持链表、集合等高级数据结构以及排序等一系列复杂操作。
-
Redis应用场景 很多大型电商网站、 视频直播 和游戏应用等,存在大规模数据访问,对数据查询效率要求高,且数据结构简单,不涉及太多关联查询。这种场景使用Redis,在速度上对传统磁盘数据库有很大优势,能够有效减少数据库磁盘IO,提高数据查询效率,减轻管理维护工作量,降低数据库存储成本。Redis对传统磁盘数据库是一个重要的补充,成为了互联网应用,尤其是支持高并发访问的互联网应用必不可少的基础服务之一。 以下举几个典型样例: (电商网站)秒杀抢购 电商网站的商品类目、推荐系统以及秒杀抢购活动,适宜使用Redis缓存数据库。 例如秒杀抢购活动,并发高,对于传统关系型数据库来说访问压力大,需要较高的硬件配置(如磁盘IO)支撑。Redis数据库,单节点QPS支撑能达到10万,轻松应对秒杀并发。实现秒杀和数据加锁的命令简单,使用SET、GET、DEL、RPUSH等命令即可。 加锁部分,可参考最佳实践:使用DCS实现分布式锁 (视频直播)消息弹幕 直播间的在线用户列表,礼物排行榜,弹幕消息等信息,都适合使用Redis中的SortedSet结构进行存储。 例如弹幕消息,可使用ZREVRANGEBYSCORE排序返回,在Redis 5.0中,新增了zpopmax,zpopmin命令,更加方便消息处理。 (游戏应用)游戏排行榜 在线游戏一般涉及排行榜实时展现,比如列出当前得分最高的10个用户。使用Redis的有序集合存储用户排行榜非常合适,有序集合使用非常简单,提供多达20个操作集合的命令。 可参考最佳实践:使用DCS实现排行榜功能 (社交APP)返回最新评论/回复 在web类应用中,常有“最新评论”之类的查询,如果使用关系型数据库,往往涉及到按评论时间逆排序,随着评论越来越多,排序效率越来越低,且并发频繁。 使用Redis的List(链表),例如存储最新1000条评论,当请求的评论数在这个范围,就不需要访问磁盘数据库,直接从缓存中返回,减少数据库压力的同时,提升APP的响应速度。
-
单机实例 因系统开销占用一部分资源,Memcached单机实例可用内存比实例规格略小,如表1所示。 表1 Memcached单机实例产品规格 内存规格 (GB) 实例可使用内存 (GB) 连接数上限(默认/可配) (个) 基准/最大带宽 (Mbit/s) 参考性能 (QPS) 产品规格编码(对应API的spec_code) 2 1.5 5,000/50,000 42/128 50,000 dcs.memcached.single_node 4 3.2 5,000/50,000 64/192 100,000 dcs.memcached.single_node 8 6.8 5,000/50,000 64/192 100,000 dcs.memcached.single_node 16 13.6 5,000/50,000 85/256 100,000 dcs.memcached.single_node 32 27.2 5,000/50,000 85/256 100,000 dcs.memcached.single_node 64 58.2 5,000/50,000 128/384 100,000 dcs.memcached.single_node
-
主备实例 对于Memcached主备实例,需要预留持久化的内存,其可用内存如表2所示。主备实例可以调整实例可用内存,以更好地支持数据持久化、主从同步等后台任务。 表2 Memcached主备实例产品规格 内存规格 (GB) 实例可使用内存 (GB) 连接数上限(默认/可配) (个) 基准/最大带宽 (Mbit/s) 参考性能 (QPS) 产品规格编码(对应API的spec_code) 2 1.5 5,000/50,000 42/128 50,000 dcs.memcached.master_standby 4 3.2 5,000/50,000 64/192 100,000 dcs.memcached.master_standby 8 6.8 5,000/50,000 64/192 100,000 dcs.memcached.master_standby 16 13.6 5,000/50,000 85/256 100,000 dcs.memcached.master_standby 32 27.2 5,000/50,000 85/256 100,000 dcs.memcached.master_standby 64 58.2 5,000/50,000 128/384 100,000 dcs.memcached.master_standby
-
故障排除 Error: Connection reset by peer 原因:安全组没有配置正确,需要参考放通36379端口或放通6379端口。 使用redis-cli连接实例,会出现:远程主机强迫关闭一个现有的连接。 原因:开启了SSL加密传输,连接时没有配置Stunnel,直接使用界面提示的IP地址进行连接。开启SSL加密时,您需要按照公网连接Redis 3.0(Linux环境,开启SSL加密时)的操作步骤执行。 更多连接失败的问题,请查看Redis实例连接失败的原因排查。
-
开启敏感操作保护(可选) 下载备份文件支持敏感操作保护。开启操作保护后,下载备份文件时,需要输入验证码进行验证,从而提升客户数据安全性。 只有管理员可以设置敏感操作,普通 IAM 用户只有查看权限,不能对其进行设置,如需修改,请联系管理员为您操作或添加权限。 关于敏感操作的更多说明请参考敏感操作。 登录华为云控制台,鼠标移动至右上方的用户名,在下拉列表中选择“安全设置”。 在安全设置页面选择“敏感操作”页签。 单击“操作保护”项对应的“立即启用”,即可开启操作保护。 开启操作保护后,在下载DCS备份文件时,会弹出“操作确认”窗口,需要完成身份验证后,才可以下载备份文件。 图3 操作确认
-
下载DCS实例备份文件 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”,进入DCS缓存实例信息页面。 “缓存管理”页面支持通过搜索栏筛选对应的缓存实例。 在需要查看的DCS缓存实例左侧,单击实例名称,进入实例的基本信息页面。 单击“备份与恢复”页签,进入备份恢复管理页面。 页面下方显示历史备份数据列表。 选择需要下载的历史备份数据,单击右侧的“下载”,弹出下载备份文件窗口。 选择通过URL或OBS方式下载备份文件。 URL下载 图1 URL下载 设置URL有效期并单击“查询”按钮,系统将生成临时的备份文件URL,URL超过有效期将会失效,需要重新生成新的URL。 URL有效期设置范围为5分钟到12小时之间。 在URL列表,单击“下载”,下载备份文件。 如果您的账号开启了敏感操作保护,备份文件下载前会弹出“操作确认”窗口进行验证,如图3。如果未开启敏感操作保护,将直接下载备份文件到本地。 单击“复制全部URL”或单击URL下载链接后的复制图标,可以复制URL下载链接。 如果通过URL的下载链接,在Linux系统中使用wget命令获取备份文件,则需要将下载链接使用英文引号括起来。如: wget 'https://obsEndpoint.com:443/redisdemo.rdb?parm01=value01&parm02=value02' 原因是URL中携带符号:&,wget命令识别URL参数会出现异常,需要使用英文引号辅助识别完整URL。 请妥善保管备份文件和URL下载链接,避免数据泄露。 OBS下载 图2 OBS下载 选择OBS下载页签,单击“准备下载”下的“OBS Browser+”链接,根据指导下载OBS Browser+。 安装OBS Browser+客户端,使用实例所在华为云账号登录OBS Browser+,登录方式请参考登录OBS Browser+。 在OBS Browser+客户挂载外部桶,挂载外部桶的操作请参考配置挂载外部桶。 添加挂载时,请使用“挂载外部桶”下的桶名称。 单击添加挂载的外部桶名称,进入该外部桶。在外部桶中查找备份文件,查找方式请参考搜索文件或文件夹。 “下载备份文件”下的备份文件路径即备份文件所在的文件夹名称和备份文件名。 单击备份文件右侧的下载图标,下载备份文件。
-
云审计 服务主要支持的DCS操作 表1 云审计服务主要支持的DCS操作列表 操作类型 资源类型 事件名称 创建实例 Redis createDCSInstance 提交创建实例请求 Redis submitCreateDCSInstanceRequest 批量删除实例 Redis batchDeleteDCSInstance 删除实例 Redis deleteDCSInstance 修改实例信息 Redis modifyDCSInstanceInfo 修改实例配置 Redis modifyDCSInstanceConfig 修改实例密码 Redis modifyDCSInstancePassword 停止实例 Redis stopDCSInstance 提交停止实例请求 Redis submitStopDCSInstanceRequest 重启实例 Redis restartDCSInstance 提交重启实例请求 Redis submitRestartDCSInstanceRequest 启动实例 Redis startDCSInstance 提交启动实例请求 Redis submitStartDCSInstanceRequest 清空实例 Redis flushDCSInstance 批量停止实例 Redis batchStopDCSInstance 提交批量停止实例请求 Instance submitBatchStopDCSInstanceRequest 批量重启实例 Redis batchRestartDCSInstance 提交批量重启实例请求 Redis submitBatchRestartDCSInstanceRequest 批量启动实例 Redis batchStartDCSInstance 提交批量启动实例请求 Instance submitBatchStartDCSInstanceRequest 恢复实例数据 Redis restoreDCSInstance 提交恢复实例数据请求 Redis submitRestoreDCSInstanceRequest 备份实例数据 Redis backupDCSInstance 提交备份实例数据请求 Redis submitBackupDCSInstanceRequest 删除实例备份文件 Redis deleteInstanceBackupFile 删除后台任务记录 Redis deleteDCSInstanceJobRecord 实例规格变更 Redis modifySpecification 提交实例规格变更请求 Redis submitModifySpecificationRequest 创建实例订单 Redis createInstanceOrder 创建实例规格变更订单 Redis createSpecificationChangeOrder 更新企业项目ID Redis updateEnterpriseProjectId 主备切换 Redis masterStandbySwitchover 关闭公网访问 Redis disablePublicNetworkAccess 开启公网访问 Redis enablePublicNetworkAccess 重置实例密码 Redis resetDCSInstancePassword 提交清空实例请求 Redis submitFlushDCSInstanceRequest WebCli登录 Redis webCliLogin webCli命令执行 Redis webCliCommand webCli登出 Redis webCliLogout 离线迁移 Redis offlineMigrate 计费模式变更 Redis billingModeChange 更新实例标签 Redis updateInstanceTag 修改白名单配置 Instance modifyWhiteList 修改实例带宽 Redis modifyBandwidth
-
SSL连接配置(可选配置) 当实例开启了SSL,通过SSL连接实例时,请使用以下内容替换基于Bean方式配置中的JedisClientConfiguration构造方法clientConfiguration()。Redis实例支持SSL的情况请参考配置Redis SSL 数据加密 传输。 @Beanpublic JedisClientConfiguration clientConfiguration() throws Exception { JedisClientConfiguration.JedisClientConfigurationBuilder configurationBuilder = JedisClientConfiguration.builder() .connectTimeout(Duration.ofMillis(redisConnectTimeout)) .readTimeout(Duration.ofMillis(redisReadTimeout)); configurationBuilder.usePooling().poolConfig(redisPoolConfig()); configurationBuilder.useSsl().sslSocketFactory(getTrustStoreSslSocketFactory()); return configurationBuilder.build();}private SSLSocketFactory getTrustStoreSslSocketFactory() throws Exception{ //加载自定义路径下的ca证书,可结合具体业务配置 CertificateFactory cf = CertificateFactory.getInstance("X.509"); Certificate ca; try (InputStream is = new FileInputStream("./ca.crt")) { ca = cf.generateCertificate(is); } //创建keystore String keyStoreType = KeyStore.getDefaultType(); KeyStore keyStore = KeyStore.getInstance(keyStoreType); keyStore.load(null, null); keyStore.setCertificateEntry("ca", ca); //创建TrustManager TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance( TrustManagerFactory.getDefaultAlgorithm()); trustManagerFactory.init(keyStore); //创建SSLContext SSLContext context = SSLContext.getInstance("TLS"); context.init(null, trustManagerFactory.getTrustManagers(), new SecureRandom()); return context.getSocketFactory();}
-
DCS实例配置建议 连接池配置 以下计算方式只适用于一般业务场景,建议根据业务情况做适当调整适配。 连接池的大小没有绝对的标准,建议根据业务流量进行合理配置,一般连接池大小的参数计算公式如下: 最小连接数 =(单机访问Redis QPS)/(1000ms / 单命令平均耗时) 最大连接数 =(单机访问Redis QPS)/(1000ms / 单命令平均耗时)* 150% 举例:某个业务应用的QPS为10000左右,每个请求需访问Redis10次,即每秒对Redis的访问次数为100000次,同时该业务应用有10台机器,计算如下: 单机访问Redis QPS = 100000 / 10 = 10000 单命令平均耗时 = 20ms(Redis处理单命令耗时为5~10ms,遇到网络抖动按照15~20ms来估算) 最小连接数 =(10000)/(1000ms / 20ms)= 200 最大连接数 =(10000)/(1000ms / 20ms)* 150% = 300
-
测试结果 表1 迁移 源实例类型 源实例规格(GB) 目标实例类型 目标实例规格(GB) 迁移方式 数据量(GB) 时间(min) Redis 5.0主备 8 Redis 5.0主备 8 全量迁移+增量迁移 7.78 3 Redis 5.0主备 32 Redis 5.0主备 32 全量迁移+增量迁移 31.9 17 Redis 5.0 proxy 64 Redis 5.0proxy 64 全量迁移+增量迁移 62.42 7 Redis 5.0 cluster 64 Redis 5.0cluster 64 全量迁移+增量迁移 57.69 6 Redis 5.0 proxy 256 Redis 5.0proxy 256 全量迁移+增量迁移 241.48 23 Redis 5.0 cluster 256 Redis 5.0cluster 256 全量迁移+增量迁移 240.21 22 表2 备份 实例类型 实例规格(GB) 备份方式 数据量(GB) 时间(min) Redis 5.0主备 8 rdb 7.78 2 Redis 5.0主备 32 rdb 31.9 5 Redis 5.0 proxy 64 rdb 62.42 9 Redis 5.0 proxy 256 rdb 241.48 37 Redis 5.0 cluster 64 rdb 57.69 9 Redis 5.0 cluster 256 rdb 255 39 Redis 5.0主备 8 aof 7.9 2 Redis 5.0主备 32 aof 31.15 10 Redis 5.0 proxy 64 aof 62.42 20 Redis 5.0 proxy 256 aof 241.48 48 Redis 5.0 cluster 64 aof 57.69 19 Redis 5.0 cluster 256 aof 255 51 表3 恢复 实例类型 实例规格(GB) 恢复方式 数据量(GB) 时间(min) Redis 5.0主备 8 rdb 7.9 2 Redis 5.0主备 32 rdb 31.15 6 Redis 5.0 proxy 64 rdb 62.42 10 Redis 5.0 proxy 256 rdb 246 42 Redis 5.0 cluster 64 rdb 57.69 10 Redis 5.0 cluster 256 rdb 255 40 Redis 5.0主备 8 aof 7.9 3 Redis 5.0主备 32 aof 31.15 10 Redis 5.0 proxy 64 aof 62.42 10 Redis 5.0 proxy 256 aof 246 46 Redis 5.0 cluster 64 aof 57.69 10 Redis 5.0 cluster 256 aof 255 43
-
测试环境说明 测试实例规格: Redis 5.0 8G主备 Redis 5.0 32G主备 Redis 5.0 64G Proxy集群( 副本数:2 | 分片数:8 | 分片容量:8 GB ) Redis 5.0 256G Proxy集群( 副本数:2 | 分片数:32 | 分片容量:8 GB ) Redis 5.0 64G Cluster集群( 副本数:2 | 分片数:8 | 分片容量:8 GB ) Redis 5.0 256G Cluster集群 ( 副本数:2 | 分片数:32 | 分片容量:8 GB ) 测试执行机规格: c6s.large.2 2vCPUs | 4GB
-
测试结果 以下测试结果仅供参考,不同局点环境和网络波动等客观条件可能产生性能差异。 以下仅提供几种实例规格的测试结果作为示例,其他实例规格的指标请参考DCS实例规格。 QPS:即Query Per Second,表示每秒处理的读写操作数,单位是次/秒。 平均/最大时延:操作的平均/最大延迟时间,单位为毫秒(ms)。 x%延迟:指x%操作的延迟时间,单位为毫秒(ms)。例如该指标的值为10ms,99.99%延迟表示99.99%的请求可以在10ms内被处理。 表1 SET操作命令测试结果 实例规格 实例CPU类型 并发连接数(个) QPS 99.99%延迟(ms) 第一个100%延迟(ms) 最后一个100%延迟(ms) 32G X86 1000 371780.2 5.6 6.3 44 10000 256073.11 90 220 460 32G ARM 1000 317053.78 17 34 230 10000 248832.33 410 490 750 表2 GET操作命令测试结果 实例规格 实例CPU类型 并发连接数(个) QPS 99.99%延迟(ms) 第一个100%延迟(ms) 最后一个100%延迟(ms) 32G X86 1000 427000.04 5.0 5.3 78 10000 302159.03 63 220 460 32G ARM 1000 421402.06 13 14 65 10000 309359.18 180 260 500
-
测试命令 redis-benchmark -h {IP} -p {Port} -a {password} -n {nreqs} -r {randomkeys} -c {connection} -d {datasize} -t {command} 参数参考值:-c {connect_number}:1000,-n {nreqs}:10000000,-r {randomkeys}:1000000,-d {datasize}:32。
-
测试结果 表1 SET操作命令测试结果 实例规格 实例CPU类型 并发连接数(个) QPS 99.99%延迟(ms) 第一个100%延迟(ms) 最后一个100%延迟(ms) 8G X86 1000 107657.69 20 23 27 10000 72750.55 362 366 371 32G X86 1000 121088.83 9 12 12 10000 79235.53 203 204 267 表2 GET操作命令测试结果 实例规格 实例CPU类型 并发连接数(个) QPS 99.99%延迟(ms) 第一个100%延迟(ms) 最后一个100%延迟(ms) 8G X86 1000 119350.25 6 24 27 10000 77574.7 152 358 365 32G X86 1000 124650.98 16 17 17 10000 81991.41 195 196 199 Redis 3.0实例暂不支持ARM CPU类型实例,仅提供X86类型的实例测试结果。
-
StackExchange.Redis客户端连接Redis 查看并获取待连接Redis实例的IP地址/ 域名 和端口。 具体步骤请参见查看和修改DCS实例基本信息。 登录弹性云服务器。 弹性云服务器操作系统,这里以Window为例。 在弹性云服务器安装VS 2017社区版。 启动VS 2017,新建一个工程。 工程名自定义,这里设置为“redisdemo”。 使用VS的nuget管理工具安装C# Redis客户端StackExchange.Redis。 按照如图1操作,进入程序包管理器控制台,在nuget控制台输入:Install-Package StackExchange.Redis -Version 2.2.79。(版本号可以不指定) 图1 进入程序包管理器控制台 编写如下代码,并使用String的set和get测试连接。 using System;using StackExchange.Redis;namespace redisdemo{ class Program { // redis config private static ConfigurationOptions connDCS = ConfigurationOptions.Parse("{instance_ip_address}:{port},password=********,connectTimeout=2000"); //the lock for singleton private static readonly object Locker = new object(); //singleton private static ConnectionMultiplexer redisConn; //singleton public static ConnectionMultiplexer getRedisConn() { if (redisConn == null) { lock (Locker) { if (redisConn == null || !redisConn.IsConnected) { redisConn = ConnectionMultiplexer.Connect(connDCS); } } } return redisConn; } static void Main(string[] args) { redisConn = getRedisConn(); var db = redisConn.GetDatabase(); //set get string strKey = "Hello"; string strValue = "DCS for Redis!"; Console.WriteLine( strKey + ", " + db.StringGet(strKey)); Console.ReadLine(); } }} 其中,{instance_ip_address}和{port}分别为Redis实例的IP地址/域名以及端口。IP地址/域名和端口获取见1,请按实际情况修改后执行。********为创建Redis实例时自定义的密码,请按实际情况修改后执行。 运行代码,控制台界面输出如下,表示连接成功。 Hello, DCS for Redis! 关于客户端的其他命令,可以参考StackExchange.Redis。
-
约束与限制 因SSL加密传输的原因,SSL和客户端IP透传功能无法同时开启,加密链路下不支持携带客户端IP。 开启SSL后,实例的读写性能会有所下降。 开通或关闭SSL将会重启您的实例。实例会出现秒级的连接闪断,请在业务低峰期执行该操作并确保应用具备重连机制。 重启操作无法撤销,单机实例及其他关闭了AOF持久化(参数配置appendonly为no)的实例,数据将清空,实例正在执行的备份任务会被停止,请谨慎操作。
-
开启或关闭SSL 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”。 在“缓存管理”页面,单击需要执行操作的缓存实例名称。 单击左侧菜单栏的“SSL设置”,进入SSL设置页面。 单击“SSL证书”后的,可以开启或关闭SSL。 开通或关闭SSL将会重启您的实例。实例会出现秒级的连接闪断,请在业务低峰期执行该操作并确保应用具备重连机制。 重启操作无法撤销,单机实例及其他关闭了AOF持久化(参数配置appendonly为no)的实例,数据将清空,实例正在执行的备份任务会被停止,请谨慎操作。 开启SSL功能后,单击“下载证书”,下载SSL证书。 解压SSL证书,将解压后的“ca.crt”文件上传到Redis客户端所在的服务器上。 在连接实例的命令中配置“ca.crt”文件所在的路径。例如,使用redis-cli连接实例时,请参考使用redis-cli连接Redis实例。
-
连接Redis网络要求 任何兼容Redis协议的客户端都可以访问DCS的Redis实例,您可以根据自身应用特点选用任何Redis客户端,Redis支持的客户端列表请参见Redis客户端。 客户端连接Redis在不同的连接场景下,需要满足不同的连接约束: 使用同一VPC内客户端访问Redis实例。 安装了客户端的弹性云服务器必须与Redis实例属于同一个VPC。Redis 3.0/6.0企业版实例,弹性云服务器与Redis实例需配置为相同的安全组,或者安全组不同时配置安全组连通规则。Redis 4.0及以上版本的基础版实例,如果实例配置了IP白名单,需将弹性云服务器的IP地址加入实例IP白名单,以确保弹性云服务器与Redis实例的网络是连通的。 安全组配置,请参考如何选择和配置安全组。白名单配置,请参考管理实例白名单。 客户端与Redis实例所在VPC为相同Region下的不同VPC。 如果客户端与Redis实例不在相同VPC中,可以通过建立VPC对等连接方式连通网络,具体请参考:缓存实例是否支持跨VPC访问?。 客户端与Redis实例所在VPC不在相同Region。 如果客户端服务器和Redis实例不在同一Region,支持通过云专线打通网络,请参考云专线。 在跨Region访问Redis实例时,实例域名无法跨Region解析,无法通过域名访问。可以通过在hosts中手动配置域名与IP绑定关系或使用IP进行访问。 公网访问 客户端公网访问Redis 4.0及以上版本实例时,请参考开启Redis公网访问并获取公网访问地址开启实例公网访问。 客户端公网访问Redis 3.0实例时,Redis缓存实例需要配置正确的安全组规则。当SSL加密功能关闭时,Redis实例的安全组入方向规则,必须允许外部地址访问6379端口;当SSL加密功能开启时,则必须允许外部地址访问36379端口。具体配置请参考常见问题:如何选择和配置安全组? 父主题: 配置Redis网络连接
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- ...
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333