redis的原理,咱其实也不知道多少,只是突然心血来潮,做接口限流。做redis锁的时候了解了一下,这里讲解一下如何搭建windows下的redis环境。
准备:
下载redis的压缩文件,直接访问网站,选择自己需要的版本进行下载 https://github.com/microsoftarchive/redis/releaseshttps://github.com/microsoftarchive/redis/releases
但是,上面的网站redis版本不够新,最新版本才3.x,所以可以自己下载cygwin进行编译。也可以直接网上找别人编译好后的redis包。
1.redis单机
1.1 解压:
将redis压缩包直接解压到自己想存放redis的地方,如:E:\redis
1.2 配置redis.conf文件
打开配置文件,可根据自身需要修改,如:需要密码则添加配置requirepass xxx ,其中xxx就是你的redis密码,然后在当前位置打开命令行直接运行命令 redis-server.exe redis.conf即可启动redis单机环境
2.redis集群:
2.1 解压
将redis压缩包直接解压到自己想存放redis的地方,如:E:\rediscluster\6381
2.2 复制:
将6381复制五份,分别命名为6382、6383、6384、6385、6386。
2.3 修改redis.conf
修改各个文件夹下的redis.conf文件,各个端口文件的配置对应自身端口,
protected-mode no
#对应文件夹的名称--redis的端口号 6381-6386
port 6381
masterauth kevin
#是否开启集群
cluster-enabled yes
cluster-node-timeout 15000
cluster-config-file nodes-6381.conf#数据的保存为aof格式
appendonly yes
#数据保存文件
appendfilename "appendonly.aof"
2.4 然后新建一个bat脚本,来启动集群
在每个端口目录下新建一个start脚本:
title redis-6381
redis-server.exe redis.conf
然后桌面上新建redis集群启动脚本
@echo off
start cmd /k "E: && cd E:\rediscluster\6381 && title redis-6381 && start.bat"
start cmd /k "E: && cd E:\rediscluster\6382 && title redis-6382 && start.bat"
start cmd /k "E: && cd E:\rediscluster\6383 && title redis-6383 && start.bat"
start cmd /k "E: && cd E:\rediscluster\6384 && title redis-6384 && start.bat"
start cmd /k "E: && cd E:\rediscluster\6385 && title redis-6385 && start.bat"
start cmd /k "E: && cd E:\rediscluster\6386 && title redis-6386 && start.bat"
@echo on
2.5 双击脚本,启动redis集群
3. 哨兵(一主两从三个哨兵):
3.1 解压
将redis压缩包直接解压到自己想存放redis的地方,如:E:\redisclustersentinel\6281
3.2 复制:
将6281复制五份,分别命名为6282、6283、6284、6285、6286。预计将6281做主,6282与6283做从,6284、6285、6286做哨兵
3.3 修改redis.conf
修改6281文件夹下的redis.conf
port 6281
#从节点连接主节点的密码(本来主节点不需要配,但是主节点可能挂掉变成从节点,所以配置上)
masterauth kevin
#其他客户端连接从节点的密码
requirepassw kevin
修改6282、6283两个从节点的redis.conf
#从节点的端口
port 6282
#主节点IP和端口
slaveof 127.0.0.1 6281
#从节点连接主节点的密码
masterauth kevin
#其他客户端连接从节点的密码
requirepassw kevin
3.4 修改哨兵配置文件:
#连接此哨兵需要的密码
requirepass kevin
# 当前Sentinel服务运行的端口(6284、6285、6286)
port 6284
# 哨兵监听的主服务器 后面的2表示主机挂掉以后进行投票,只需要2票就可以从机变主机
sentinel monitor mymaster 127.0.0.1 6281 2
# 3s内mymaster无响应,则认为mymaster宕机了
sentinel down-after-milliseconds mymaster 3000
#如果10秒后,mysater仍没启动过来,则启动failover
sentinel failover-timeout mymaster 10000
# 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步sentinel parallel-syncs mymaster 1
# 设置哨兵sentinel 连接主从的密码 注意必须为主从设置一样的验证密码,没有的话不用设置
sentinel auth-pass mymaster kevin
3.5 编写启动脚本:
@echo off
start cmd /k "E: && cd E:\redisclustersentinel\Redis6.0.8-6281 && title redis-6281 && redis-server.exe redis.conf"
start cmd /k "E: && cd E:\redisclustersentinel\Redis6.0.8-6282 && title redis-6282 && redis-server.exe redis.conf"
start cmd /k "E: && cd E:\redisclustersentinel\Redis6.0.8-6283 && title redis-6283 && redis-server.exe redis.conf"
start cmd /k "E: && cd E:\redisclustersentinel\Redis6.0.8-6284 && title redis--6284-sentinel && redis-server.exe sentinel.conf --sentinel"
start cmd /k "E: && cd E:\redisclustersentinel\Redis6.0.8-6285 && title redis--6285-sentinel && redis-server.exe sentinel.conf --sentinel"
start cmd /k "E: && cd E:\redisclustersentinel\Redis6.0.8-6286 && title redis--6286-sentinel && redis-server.exe sentinel.conf --sentinel"
@echo on
3.6 启动redis服务
4. 如何后台运行redis ,如何设置外网可访问
如果需要后台运行redis,则修改redis.conf文件
#注释掉 bind 127.0.0.1
#bind 127.0.0.1
#设置后台运行
daemonize yes
#设置外网可访问
protected-mode no