<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[qq_25241721的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/qq_25241721</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; qq_25241721]]></copyright><item><title><![CDATA[Redis Cluster集群管理手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126897851</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126897851</guid><author>qq_25241721</author><pubDate>Fri, 16 Sep 2022 21:11:57 +0800</pubDate><description><![CDATA[CLUSTER FORGET命令引发的节点移除消息并不会通过Gossip协议传播至集群中的其他节点，要让集群真正地移除一个节点，用户必须向集群中的所有节点都发送相同的CLUSTER FORGET命令，并且这一动作必须在60s之内完成，否则被暂时屏蔽的节点就会因为Gossip协议的作用而被重新添加到集群中。除了集群管理程序之外，Redis还提供了一簇以CLUSTER开头的集群命令，这些命令可以根据它们的作用分为集群管理命令和槽管理命令，前者管理的是集群及其节点，而后者管理的则是节点的槽分配情况。]]></description><category></category></item><item><title><![CDATA[Redis Sentinel集群管理手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126897839</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126897839</guid><author>qq_25241721</author><pubDate>Fri, 16 Sep 2022 21:11:16 +0800</pubDate><description><![CDATA[Redis从2.8.4版本开始为SENTINEL命令新添加了一组子命令，可以在线地修改Sentinel对于被监视主服务器的配置选项，并把修改之后的配置选项保存到配置文件中，整个过程不需要停止Sentinel，也不需要手动修改配置文件。redis-cli工具的–stat选项可以实时获取Redis的重要统计信息，尤其对一些增量的数据，如blocked、requests，这对于Redis的运维非常有帮助。由于monitor命令对Redis的CPU、内存、网络资源均有一定的占用，不建议运维使用。]]></description><category></category></item><item><title><![CDATA[Redis 数据迁移篇之move、dump、migrate、redis-rdb-tools和redis-dump工具使用手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126897783</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126897783</guid><author>qq_25241721</author><pubDate>Fri, 16 Sep 2022 21:10:25 +0800</pubDate><description><![CDATA[move命令用于在Redis内部进行数据迁移，Redis内部可以有多个数据库，彼此在数据上是相互隔离的，move key db就是把指定的键从源数据库移动到目标数据库中。migrate命令也是用于在Redis实例间进行数据迁移的，实际上migrate命令就是将dump、restore、del三个命令进行组合，从而简化了操作流程。Centos默认支持ruby到2.0.0，可gem 安装redis需要最低是2.3.0，解决办法是 先安装rvm，再把ruby版本提升至2.3.0。]]></description><category></category></item><item><title><![CDATA[Redis 数据迁移篇之redis-shake工具使用手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126897769</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126897769</guid><author>qq_25241721</author><pubDate>Fri, 16 Sep 2022 21:06:54 +0800</pubDate><description><![CDATA[支持源redis和目的redis的数据同步，支持全量和增量数据的迁移，支持从云下到阿里云云上的同步，也支持云下到云下不同环境的同步，支持单节点、主从版、集群版之间的互相同步。redis-full-check对比的方向是单向：抓取源库A的数据，然后检测是否位于B中，反向不会检测，也就是说，它检测的是源库是否是目的库的子集。同步rump：支持源redis和目的redis的数据同步，仅支持全量的迁移。Redis-shake 是一个用于在两个 redis之 间同步数据的工具，满足用户非常灵活的同步、迁移需求。]]></description><category></category></item><item><title><![CDATA[Redis 数据迁移篇之redis-migrate-tool工具使用手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126897686</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126897686</guid><author>qq_25241721</author><pubDate>Fri, 16 Sep 2022 21:04:13 +0800</pubDate><description><![CDATA[Redis-Migrate-Tool（都简称RMT），是唯品会开源的redis数据迁移工具，主要用于异构redis集群间的数据在线迁移，即数据迁移过程中源集群仍可以正常接受业务读写请求，无业务中断服务时间。2）twemproxy到twemproxy/cluster迁移。1）单个redis到twemproxy/cluster迁移。3）cluster到twmeproxy/cluster迁移。支持下面几种异构集群之间的数据迁移和同构集群扩容/缩容。]]></description><category></category></item><item><title><![CDATA[Redis 备份恢复（持久化）手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126897658</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126897658</guid><author>qq_25241721</author><pubDate>Fri, 16 Sep 2022 20:58:58 +0800</pubDate><description><![CDATA[为了解决上述问题，Redis向用户提供了持久化功能，这一功能可以把内存中存储的数据以文件形式存储到硬盘上。为了满足不同的持久化需求，Redis提供了RDB持久化、AOF持久化和RDB-AOF混合持久化等多种持久化方式以供用户选择。Redis与传统数据库的一个主要区别在于，Redis把所有数据都存储在内存中，而传统数据库通常只会把数据的索引存储在内存中，并将实际的数据存储在硬盘中。服务器在停机之后，只要重新执行AOF文件中保存的Redis命令，就可以将数据库恢复至停机之前的状态。]]></description><category></category></item><item><title><![CDATA[Redis 阻塞管理]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126897650</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126897650</guid><author>qq_25241721</author><pubDate>Fri, 16 Sep 2022 20:57:39 +0800</pubDate><description><![CDATA[对于开启Transparent HugePages的操作系统，每次写命令引起的复制内存页单位由4K变为2MB，放大了512倍，会拖慢写操作的执行时间，导致大量写操作慢查询。例如简单的info命令也会出现在慢查询中。连接溢出：这是指操作系统或者Redis客户端在连接时的问题，可能是操作系统的进程限制（即操作系统的最大文件数的限制，通过ulimit -n可以查看）、Redis的backlog队列溢出（如果Redis用于高并发场景为了防止缓慢连接占用，可适当增大这个设置，但必须大于操作系统允许值才能生效）。]]></description><category></category></item><item><title><![CDATA[Redis 内存管理]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126897628</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126897628</guid><author>qq_25241721</author><pubDate>Fri, 16 Sep 2022 20:57:02 +0800</pubDate><description><![CDATA[当used_memory_rss >> used_memory时，较大的差异可能意味着存在(外部)内存碎片，可以通过检查allocator_frag_ratio、allocator_frag_bytes来评估。以下版本可以选择重启Redis服务器释放内存碎片，重启Redis服务器可以让额外产生的内存碎片失效并重新作为新内存来使用，使操作系统恢复高效的内存管理。说明Redis消耗了实际需要物理内存的150%以上，其中50%是内存碎片率，可能是操作系统或Redis实例中内存管理变差的表现。]]></description><category></category></item><item><title><![CDATA[Redis hot key管理]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126897613</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126897613</guid><author>qq_25241721</author><pubDate>Fri, 16 Sep 2022 20:55:28 +0800</pubDate><description><![CDATA[其核心就是在每次对key进行读写访问时，更新LFU的24 bits域代表的访问时间和counter，这样每个key就可以获得正确的LFU值。在某个Key接收到的访问次数、显著高于其它Key时，可以将其称之为热Key，即hot key。同bigkey一样，hot key也会带来一系列问题，如拖慢Redis性能、造成Redis集群节点间负载不均衡、大量请求造成Redis缓存击穿等。热key分析是对于主节点的分析，在进行分析时，客户访问性能会略有影响（不高于10%）。]]></description><category></category></item><item><title><![CDATA[Redis bigkey管理]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126897602</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126897602</guid><author>qq_25241721</author><pubDate>Fri, 16 Sep 2022 20:54:56 +0800</pubDate><description><![CDATA[Redis本身提供发现大对象的工具，redis-cli采用–bigkeys选项来查找最大的键和每种类型的键的平均大小。起提供了UNLINK命令，该命令能够以非阻塞的方式缓慢逐步的清理传入的Key，通过UNLINK，可以安全的删除大Key甚至特大Key。当删除 String 类型的 key，时间复杂度是 O(1) ，建议不要存储过大的数据，否则在删除时也会有性能问题。命令直接删除单个集合类型的KEY，因为其命令的时间复杂度是O(M)，其中M是集合类型Key包含的元素个数。]]></description><category></category></item><item><title><![CDATA[Redis slowlog管理手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126880515</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126880515</guid><author>qq_25241721</author><pubDate>Thu, 15 Sep 2022 21:55:38 +0800</pubDate><description><![CDATA[slowlog-log-slower-than就是那个预设阀值，它的单位是微秒（1秒=1000毫秒=1000000微秒），默认值是10000，假如执行了一条“很慢”的命令（例如keys\），如果它的执行时间超过了10000微秒，那么它将被记录在慢查询日志中。由于慢查询日志是一个先进先出的队列，也就是说如果慢查询比较多的情况下，可能会丢失部分慢查询命令，为了防止这种情况发生，可以定期执行slow get命令将慢查询日志持久化到其他存储中（例如MySQL），然后可以制作可视化界面进行查询。]]></description><category></category></item><item><title><![CDATA[Redis 连接管理手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126880502</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126880502</guid><author>qq_25241721</author><pubDate>Thu, 15 Sep 2022 21:51:26 +0800</pubDate><description><![CDATA[可通过CLIENT KILL addr:port命令或CLIENT KILL ADDR ip:port命令kill单个会话，addr:port或ip:port匹配client list中的addr指标的值。由于 Redis 的单线程特性，无法在执行命令时终止客户端连接。从客户端的角度来看，连接永远不会在执行命令的过程中关闭。但是，只有在发送下一条命令时，客户端才会注意到连接已关闭（并导致网络错误）。]]></description><category></category></item><item><title><![CDATA[Redis 权限管理手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126880490</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126880490</guid><author>qq_25241721</author><pubDate>Thu, 15 Sep 2022 21:50:27 +0800</pubDate><description><![CDATA[某些规则只是单个单词，用于激活或删除标志，或对用户 ACL 执行给定的更改。其他规则是与命令或类别名称或键模式等连接的字符前缀。通过一个个的指定命令设置用户ACL比较繁琐，这里可以通过命令类别进行实现，ACL类别对于创建一次包含或排除大量命令的ACL规则非常有用，而无需指定每个命令。off： 禁用用户，不允许使用此用户进行身份验证，但是已经过身份验证的连接仍然有效。，无论默认用户配置如何，则新连接将不通过身份验证启动，并且将要求用户发送带有 AUTH 选项的。on：启用用户，允许使用该用户进行身份验证。]]></description><category></category></item><item><title><![CDATA[Redis 用户管理手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126880446</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126880446</guid><author>qq_25241721</author><pubDate>Thu, 15 Sep 2022 21:49:37 +0800</pubDate><description><![CDATA[以下是有效 ACL 规则的列表。ACL SETUSER会创建具有指定ACL规则的用户或修改现有用户的ACL规则。如果用户名不存在，则该命令创建没有任何权限的用户名，然后从左到右读取所有规则，将用户ACL规则设置为指定的规则；为保障与旧版本的Redis的兼容，Redis 6有一个默认配置，默认配置会对默认用户的新连接进行身份验证，即每个新连接都能够调用所有命令并访问每个键，因此ACL功能向后兼容旧版本客户端和应用程序。off： 禁用用户，不允许使用此用户进行身份验证，但是已经过身份验证的连接仍然有效。]]></description><category></category></item><item><title><![CDATA[Redis 实例启停和连接手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126880387</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126880387</guid><author>qq_25241721</author><pubDate>Thu, 15 Sep 2022 21:48:47 +0800</pubDate><description><![CDATA[Redis 6.0以后的版本若未启用ACL（Access Control List访问控制列表），可采用如上的常规方式登录（缺省采用default用户登录，可向低版本兼容认证）。​	Redis数据库安装完毕后，通过下面命令来进行启动或者关闭，日常工作中务必按照正常的方法启动关闭redis数据库，避免出现异常报错。]]></description><category></category></item><item><title><![CDATA[Redis Twemproxy 集群规范部署手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126880365</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126880365</guid><author>qq_25241721</author><pubDate>Thu, 15 Sep 2022 21:45:15 +0800</pubDate><description><![CDATA[从 ubuntu 6.10 开始，ubuntu 就将先前默认的bash shell 更换成了dash shell；其表现为 /bin/sh 链接倒了/bin/dash而不是传统的/bin/bash。需执行dpkg-reconfigure dash，选择NO，即将默认的shell改回bash。: net.ipv4.tcp_tw_reuse设置为1表示开启重用，允许将TIME-WAIT sockets重新用于新的TCP连接，默认为0，表示关闭。]]></description><category></category></item><item><title><![CDATA[Redis Codis 集群规范部署手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126880344</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126880344</guid><author>qq_25241721</author><pubDate>Thu, 15 Sep 2022 21:43:56 +0800</pubDate><description><![CDATA[客户端连接Redis代理服务，处理客户端请求，codis-proxy本身实现了Redis协议，因此客户端访问Codis Proxy跟访问原生的Redis没什么区别。]]></description><category></category></item><item><title><![CDATA[Redis Cluster 集群规范部署手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126880323</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126880323</guid><author>qq_25241721</author><pubDate>Thu, 15 Sep 2022 21:42:26 +0800</pubDate><description><![CDATA[若是Ubuntu系统，则通过此种方式部署ruby环境，安装ruby：apt-get update    apt-get install ruby-full -y     安装rubygem redis依赖：gem install redis。: 若是Redis 5.x及以上版本，可采用redis-cli工具部署，因为Redis 5.x及以上版本彻底抛弃了ruby，将集群管理功能集成到了redis-cli工具中，创建语法同redis-trib。通过redis-trib检查集群状态。]]></description><category></category></item><item><title><![CDATA[Redis Sentinel集群规范部署手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126880289</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126880289</guid><author>qq_25241721</author><pubDate>Thu, 15 Sep 2022 21:41:19 +0800</pubDate><description><![CDATA[若搭建Redis Cluster，需要额外添加参数cluster-enabled yes、cluster-require-full-coverage no、cluster-config-file nodes-2001.conf等。: net.ipv4.tcp_tw_reuse设置为1表示开启重用，允许将TIME-WAIT sockets重新用于新的TCP连接，默认为0，表示关闭。获取监视同一主服务器的其他所有Sentinel的相关信息。]]></description><category></category></item><item><title><![CDATA[Redis 规范部署手册]]></title><link>https://blog.youkuaiyun.com/qq_25241721/article/details/126880229</link><guid>https://blog.youkuaiyun.com/qq_25241721/article/details/126880229</guid><author>qq_25241721</author><pubDate>Thu, 15 Sep 2022 21:39:31 +0800</pubDate><description><![CDATA[若搭建Redis Cluster，需要额外添加参数cluster-enabled yes、cluster-require-full-coverage no、cluster-config-file nodes-6379.conf等。: net.ipv4.tcp_tw_reuse设置为1表示开启重用，允许将TIME-WAIT sockets重新用于新的TCP连接，默认为0，表示关闭。: 若Redis版本为Redis 5.x及以上版本时，可不需要安装ruby。编辑profile配置文件。]]></description><category></category></item></channel></rss>