一、redis简介
官网是这样介绍redis的:
Redis is an opensource(BSDlicensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams. Redis has built-in replication, Lua scripting, LRUeviction, transactions and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster.
Redis是一个开源(BSD许可),内存数据结构存储,用作数据库,缓存和消息代理。它支持数据结构,如字符串,散列,列表,集合,带有范围查询的排序集,位图,超级日志,具有半径查询和流的地理空间索引。Redis具有内置复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel提供高可用性并使用Redis Cluster自动分区。
简言之:数据结构服务器
二、Windows部署redis单节点的方法
1.部署redis集群至少需要三台服务器,且服务器之间网络相通(部署集群的时候需要)
2.redis官方没有提供相关的程序包,但是Microsoft Open Tech group提供并维护了相关的redis安装包https://git hub.com/MSOpenTech/redis。且我没找到redis4.0版本以上的,所以在Windows上面部署redis具有很大的局限性。
3.安装包下载好后进行安装,建议将redis安装在非系统盘(可自行决定,根据实际情况进行选择)
4.安装好后打开cmd,进入安装redis的目录下,输入redis-server.exe redis.windows.conf进行启动redis
启动成功后效果如下:
三、Windows部署redis集群
1、单节点部署完成后打开redis.windows.conf配置文件
port 6379 #redis默认端口为6379
bind 127.0.0.1 #绑定的主机地址,若非本机连接,可改为0.0.0.0或注释bind
requirepass "123456" #修改redis修改密码,此处强烈建议设置
masterauth "123456" #修改master服务密码,此处强烈建议设置
protected-mode no #关闭保护模式,可根据业务要求自行决定
daemonize yes #守护进程
slaveof <masterip><masterport> #设置master服务的IP地址及端口
还有很多配置参数,可按照自己的需求进行设定,此处列举为基础配置参数
2、当三台机器配置完成后,将redis重启,再验证集群是否部署成功
验证方法为:进入主节点服务器,打开cmd并进入redis目录,运行redis-cli.exe,并set key和value
再切换至从节点服务器,打开cmd并进入redis目录,运行redis-cli.exe,看是否能get到主节点中的value。
若从节点能正常获取数据,则说明集群搭建成功。
四、哨兵的部署方法
1.Redis Sentinel 是一个分布式系统,你可以在一个架构中运行多个 Sentinel 进程(progress),这些进程使用流言协议(gossip protocols)来接收关于主服务器是否下线的信息, 并使用投票协议(agreement protocols)来决定是否执行自动故障迁移, 以及选择哪个从服务器作为新的主服务器。
2. Sentinel配置文件如下(基础配置参数,可根据需求自行添加)
port 6380 #哨兵服务的端口,可随意更改
sentinel monitor mymaster 127.0.0.1 6379 2 #哨兵监听主节点,IP为主服务器IP
sentinel auth-pass mymaster 123456 #主节点密码,若之前没设置则不需配置
sentinel down-after-milliseconds mymaster 3000 #若3s内mymaster无响应,则认为mymaster宕机了
sentinel failover-timeout mymaster 10000 #若10秒后,mysater仍没启动过来,则启动failover
sentinel parallel-syncs mymaster 1 #执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步
protected-mode no #关闭保护模式,可根据业务要求自行决定
哨兵配置完成后,打开cmd,进入redis目录,运行redis-server.exe sentinel.conf --sentinel来启动哨兵,当哨兵启动后,验证哨兵是否能正常工作。
验证方法为:将主节点宕掉,看是否会自动选举新的主节点,若能,则说明部署成功
注:初步完成编写,很多细节没具体讲到......
Author:xkhu
Date:20190125