C:\shixun\Redis-x64-5.0.14.1
requirepass 123456
A. 安装指令:
redis-server.exe --service-install redis.windows.conf
B. 卸载指令:
redis-server.exe --service-uninstall
C. 确保已卸载,可以查询一下:
sc query redisa. 若存在Redis则如下:

b. 如果服务已卸载,这个命令将返回:失败 1060: 指定的服务未安装

redis-server.exe --service-start/stop
redis-cli.exe
get key
redis-cli.exe -a 123456A. 这时候会有Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
B. 能够以更安全的登陆方式,先进入控制台,然后输入认证密码:
redis-cli
Auth 123456


配置文件丢里面,统一命名,或者名称一样保持不同做区分也行(但是后续命令指定时需要保持相同)


# 配置内容举个例子:
bind 127.0.0.1
port 7002
cluster-enabled yes
cluster-config-file nodes-7002.conf
cluster-node-timeout 5000
appendonly yes
appendfilename "appendonly-7002.aof"
dbfilename "dump-7002.rdb"
logfile "7002.log"
dir C:\shixun\Redis-x64-5.0.14.1\data\node7002
a. 这个dir 配置项用于指定保存数据库文件的目录。您可以将其设置为绝对路径或相对路径:

b. 对应的data目录要存在

# 配置内容举个例子:
redis-server.exe .\cluster-node-7001\redis.conf
redis-server.exe .\cluster-node-7002\redis.conf
redis-server.exe .\cluster-node-7003\redis.conf
redis-server.exe .\cluster-node-7004\redis.conf
redis-server.exe .\cluster-node-7005\redis.conf
redis-server.exe .\cluster-node-7006\redis.conf注: 如果你是之前所说的非统一命名的配置文件,则需要将名称相对应
# 配置内容举个例子:
redis-server.exe .\cluster-node-7001\redis-7001.conf
redis-server.exe .\cluster-node-7002\redis-7002.conf
redis-server.exe .\cluster-node-7003\redis-7003.conf
redis-server.exe .\cluster-node-7004\redis-7004.conf
redis-server.exe .\cluster-node-7005\redis-7005.conf
redis-server.exe .\cluster-node-7006\redis-7006.conf# 配置内容举个例子:
redis-cli.exe --cluster create 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006 --cluster-replicas 1a. 创建时会有提示,确认即可:yes

b. 查看各个node的打印信息,耐心等待全部ok

c. 上图表示的含义就是:Redis 集群已经成功启动并运行
三个主节点(M)分别分配了槽位范围,每个节点负责处理一部分槽位:
- 127.0.0.1:7001 负责槽位 0 到 5460
- 127.0.0.1:7002 负责槽位 5461 到 10922
- 127.0.0.1:7003 负责槽位 10923 到 16383
三个从节点(S)分别复制一个主节点,形成主从复制关系:
- 127.0.0.1:7004 复制 127.0.0.1:7001
- 127.0.0.1:7005 复制 127.0.0.1:7002
- 127.0.0.1:7006 复制 127.0.0.1:7003d. 输出信息中的
[OK] All nodes agree about slots configuration.表示所有节点对槽位配置达成一致。e. 输出信息中的
[OK] All 16384 slots covered.表示 16384 个槽位都已分配,集群槽位配置完整。所以,根据这些信息,我们可以得出结论:Redis 集群已成功启动并运行。
redis-cli.exe -c -p 7001 CLUSTER INFO
CLUSTER NODES
当然也会有失败的情况:
部分节点未加入集群时,可以手动添加:CLUSTER MEET 127.0.0.1 7006
如果想重启集群,就需要逐一关闭节点:redis-cli -h 127.0.0.1 -p 7001 -a 123456 shutdown
1). 然后等待集群恢复,启动所有节点后集群可能需要一段时间来自动恢复,这个过程,集群可能会进行节点之间的数据同步、哈希槽位的重新分配
2). 最后可以重启完毕后检查集群状态:
redis-cli -h 127.0.0.1 -p 7001 -a 123456 cluster info [9448] 06 May 14:15:28.656 # fork operation failed
[9448] 06 May 14:15:28.656 # Background AOF rewrite terminated by signal 1
[9448] 06 May 14:15:28.769 * Background append only file rewriting started by pid 20232
[20232] 06 May 14:15:28.817 #
*** FATAL CONFIG FILE ERROR ***
[20232] 06 May 14:15:28.817 # Reading the configuration file, at line 0
[20232] 06 May 14:15:28.817 # >>> '(null)'
[20232] 06 May 14:15:28.817 # replicaof directive not allowed in cluster mode
[9448] 06 May 14:15:28.881 # fork operation failed
[9448] 06 May 14:15:28.881 # Background AOF rewrite terminated by signal 1a. 错误日志显示的问题可能与操作系统资源限制有关
b. 解决办法:以管理员身份运行 Redis:确保以管理员权限运行 Redis 进程,以便能够访问必要的系统资源。检查操作系统限制:确保操作系统允许 Redis 使用足够的文件描述符和进程。这些限制可能因操作系统和系统配置而异。检查 AOF 文件和 RDB 文件的权限和路径:确保指定的 AOF 文件(appendonly-7006.aof)和 RDB 文件(dump-7006.rdb)的路径正确,Redis 进程具有访问这些文件的权限。
c. 其实
appendonly-7006.aof和dump-7006.rdb这两个文件是 Redis 服务器在运行时自动生成的。它们分别用于 AOF(Append Only File)持久化和 RDB(Redis DataBase)持久化。d. AOF 持久化:当 Redis 配置为使用 AOF 持久化时,它会将所有的写操作(例如 SET、HSET 等)追加到 AOF 文件中。当 Redis 服务器重启时,它会从 AOF 文件中读取操作并重放它们以重建数据库状态。AOF 文件名由配置文件中的
appendfilename指令指定。e. RDB 持久化:RDB 持久化是 Redis 将整个数据库的快照保存到磁盘的过程。这是通过将数据库保存到一个名为 RDB 文件的二进制文件中来完成的。RDB 文件名由配置文件中的
dbfilename指令指定。f. 当 Redis 服务器启动并开始接收命令时,如果启用了 AOF 或 RDB 持久化,它会在指定的目录中创建这些文件(由
dir指令设置)。如果这些文件不存在,Redis 会自动创建它们。如果这些文件已经存在,Redis 会在启动时加载它们,并在运行过程中不断更新这些文件以保持数据的持久化。
加载评论中...