Redis学习(六) Redis 基本运维

Redis的单机搭建,主从搭建,Sentinal搭建,以及Redis集群搭建的步骤参照前面的文章。现在来说一下Redis的基本运维,毕竟如果一切正常是最好的,但是当出现问题不能使用的时候,准确定位问题,并解决才是最重要的。

一、配置文件

  Redis的配置文件的注释还是很详细的,下面也把它贴出来:

 View Code

  里面有一些重要的配置还是应该掌握的,至少应该阅读一遍。当然也可以参照一些更加详细的博客:

  • 比如这个:http://www.cnblogs.com/LiZhiW/p/4851631.html

二、Redis 单机操作

  连接Redis可用redis-cli进行连接,具体命令如下:

复制代码

D:\data\frame\redis-2.4.5-win32-win64
λ redis-cli.exe --help
redis-cli 2.4.5

Usage: redis-cli [OPTIONS] [cmd [arg [arg ...]]]
  -h <hostname>    Server hostname (default: 127.0.0.1)
  -p <port>        Server port (default: 6379)
  -s <socket>      Server socket (overrides hostname and port)
  -a <password>    Password to use when connecting to the server
  -r <repeat>      Execute specified command N times
  -i <interval>    When -r is used, waits <interval> seconds per command.
                   It is possible to specify sub-second times like -i 0.1.
  -n <db>          Database number
  -x               Read last argument from STDIN
  -d <delimiter>   Multi-bulk delimiter in for raw formatting (default: \n)
  --raw            Use raw formatting for replies (default when STDOUT is not a tty)
  --latency        Enter a special mode continuously sampling latency.
  --help           Output this help and exit
  --version        Output version and exit

Examples:
  cat /etc/passwd | redis-cli -x set mypasswd
  redis-cli get mypasswd
  redis-cli -r 100 lpush mylist x
  redis-cli -r 100 -i 1 info | grep used_memory_human:

When no command is given, redis-cli starts in interactive mode.
Type "help" in interactive mode for information on available commands.

复制代码

  不过不建议记,用的时候记得help一下就可以:

redis-cli.exe --help

  连接上以后,可以执行以下操作: 

1 BGREWRITEAOF 
异步执行一个 AOF(AppendOnly File) 文件重写操作
2 BGSAVE 
在后台异步保存当前数据库的数据到磁盘
3 CLIENT KILL [ip:port] [ID client-id] 
关闭客户端连接
4 CLIENT LIST 
获取连接到服务器的客户端连接列表
5 CLIENT GETNAME 
获取连接的名称
6 CLIENT PAUSE timeout 
在指定时间内终止运行来自客户端的命令
7 CLIENT SETNAME connection-name 
设置当前连接的名称
8 CLUSTER SLOTS 
获取集群节点的映射数组
9 COMMAND 
获取 Redis 命令详情数组
10 COMMAND COUNT 
获取 Redis 命令总数
11 COMMAND GETKEYS 
获取给定命令的所有键
12 TIME 
返回当前服务器时间
13 COMMAND INFO command-name [command-name ...] 
获取指定 Redis 命令描述的数组
14 CONFIG GET parameter 
获取指定配置参数的值
15 CONFIG REWRITE 
对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写
16 CONFIG SET parameter value 
修改 redis 配置参数,无需重启
17 CONFIG RESETSTAT 
重置 INFO 命令中的某些统计数据
18 DBSIZE 
返回当前数据库的 key 的数量
19 DEBUG OBJECT key 
获取 key 的调试信息
20 DEBUG SEGFAULT 
让 Redis 服务崩溃
21 FLUSHALL 
删除所有数据库的所有key
22 FLUSHDB 
删除当前数据库的所有key
23 INFO [section] 
获取 Redis 服务器的各种信息和统计数值
24 LASTSAVE 
返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示
25 MONITOR 
实时打印出 Redis 服务器接收到的命令,调试用
26 ROLE 
返回主从实例所属的角色
27 SAVE 
异步保存数据到硬盘
28 SHUTDOWN [NOSAVE] [SAVE] 
异步保存数据到硬盘,并关闭服务器
29 SLAVEOF host port 
将当前服务器转变为指定服务器的从属服务器(slave server)
30 SLOWLOG subcommand [argument] 
管理 redis 的慢日志
31 SYNC 
用于复制功能(replication)的内部命令

三、Redis Sentinal 操作

  登录Sentinal的方式和登录Redis的方式一样:

redis-cli -h <hostname> -p <port>

  Sentinal的命令有几个,掌握重要的即可:

  • ping:返回 PONG 。
  • sentinel masters :列出所有被监视的主服务器,以及这些主服务器的当前状态。
  • sentinel master <master name>:特定主服务器的当前状态。
  • sentinel slaves <master name>:列出给定主服务器的所有从服务器,以及这些从服务器的当前状态。
  • sentinel sentinels <master name>:显示监视指定主服务器的所有sentinel和他们的状态。
  • sentinel get-master-addr-by-name <master name> : 返回给定名字的主服务器的 IP 地址和端口号。 如果这个主服务器正在执行故障转移操作, 或者针对这个主服务器的故障转移操作已经完成, 那么这个命令返回新的主服务器的 IP 地址和端口号。
  • sentinel reset <pattern>: 重置所有名字和给定模式 pattern 相匹配的主服务器。 pattern 参数是一个 Glob 风格的模式。 重置操作清楚主服务器目前的所有状态, 包括正在执行中的故障转移, 并移除目前已经发现和关联的, 主服务器的所有从服务器和 Sentinel 。
  • sentinel failover : 当主服务器失效时, 在不询问其他 Sentinel 意见的情况下, 强制开始一次自动故障迁移 (不过发起故障转移的 Sentinel 会向其他 Sentinel 发送一个新的配置,其他 Sentinel 会根据这个配置进行相应的更新)。

四、Redis cluster 操作

  登录cluster后,主要命令如下:

  • CLUSTER INFO 打印集群的信息
  • CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。
  • CLUSTER RESET reset
  • CLUSTER SAVECONFIG 强制节点保存集群当前状态到磁盘上。
  • CLUSTER SLOTS 获得slot在节点上的映射关系
  • CLUSTER MEET <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
  • CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。
  • CLUSTER REPLICATE <node_id> 将当前节点设置为 node_id 指定的节点的从节点。
  • CLUSTER SLAVES <node_id> 列出该slave节点的master节点
  • CLUSTER ADDSLOTS <slot> [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。
  • CLUSTER DELSLOTS <slot> [slot ...] 移除一个或多个槽对当前节点的指派。
  • CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
  • CLUSTER SETSLOT <slot> NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。
  • CLUSTER SETSLOT <slot> MIGRATING <node_id> 将本节点的槽 slot 迁移到 node_id 指定的节点中。
  • CLUSTER SETSLOT <slot> IMPORTING <node_id> 从 node_id 指定的节点中导入槽 slot 到本节点。
  • CLUSTER SETSLOT <slot> STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。
  • CLUSTER KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。
  • CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的键值对数量。
  • CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键
  • READONLY 在集群中的salve节点开启只读模式
  • READWRITE 禁止读取请求跳转到集群中的salve节点上

猜你喜欢

转载自blog.csdn.net/u014677702/article/details/84891523