Redis部署说明
一、普通部署
将Redis-x64-3.2.100解压,修改配置文件,一般不需要修改,直接使用默认,具体要修改可自行百度。
打开命令行,定位到解压目录,执行命令:
redis-server.exe redis.windows.conf
有如下回显表示配置正确:

命令行执行以下命令可打开客户端测试:
redis-cli.exe –h 127.0.0.1 –p 6379

通过以下命令可部署为WindowsService:
redis-server --service-install redis.windows.conf
通过以下命令可启动/停止服务
redis-server --service-start
redis-server --service-stop
二、密码配置
1.在配置文件中通过如下配置设置密码:
requirepass 123456
2.客户端连接后通过auth命令验证授权:

3.在StackExchange.Redis连接字符串中设置密码:
localhost:6379,password=123456
4.集群设置密码:
先通过redis-trib.rb工具构建集群,集群构建完成前不要配置密码,
集群构建完毕再通过config set + config rewrite命令逐个机器设置密码
config set masterauth 123456
config set requirepass 123456
config rewrite
注意
1) 对集群设置密码,requirepass和masterauth都需要设置,否则发生主从切换时,就会遇到授权问题,可以模拟并观察日志
2) 各个节点的密码都必须一致,否则Redirected就会失败
3) 如果设置密码后需要使用redis-trib.rb的各种命令,需要到rbuy环境的gems里找到并修改redis工具,路径如下:

修改client.rb如下:

三、Cluster集群部署
Cluster集群脚本redis-trib.rb是通过Ruby语言编写,需要安装Ruby环境,具体步骤如下:
双击rubyinstaller-2.2.4-x64.exe安装:

安装驱动:
gem install --local path_to_gem/ redis-3.2.1.gem

部署redis集群首先要分别部署多个redis服务,集群节点少于三个无法部署,所以主服务器最少三个,下面的示例方案部署6个服务,三个主,三个从,
首先创建六个配置文件,端口从7001到7006:

其中redis.7001.conf的配置是:

其他的基本类似,分别将其中的7001改成对应的端口号即可,
配置说明:
port 7001 #端口号
loglevel notice #日志的记录级别,notice是适合生产环境的
logfile "D:/Redis/Cluster/Logs/redis7001_log.txt" #指定log的保持路径,默认是创建在Redis安装目录下,如果有子目录需要手动创建,如此处的Logs目录
syslog-enabled yes #是否使用系统日志
syslog-ident redis6380 #在系统日志的标识名
appendonly yes #数据的保存为aof格式
appendfilename "appendonly.7001.aof" #数据保存文件
cluster-enabled yes #是否开启集群以及集群配置
cluster-config-file nodes.7001.conf #这个文件会自动生成,下次启动服务的时候回自动使用该集群配置
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes
部署6个服务:

其中—service-name参数是服务名称
启动服务:

部署成功后查看服务:

部署集群:

其中参数—replicas 是从库个数。
输入yes:

集群成功,测试一下:

7001节点可以连接到所有节点,其中7001-7003是主库,7004-7006是从库,至此部署已完成,打开客户端测试:

客户端需要参数-c ,表示集群
有上图可知,集群会自动将缓存存放其中一个节点
key1键是在7002节点,现在把7002服务停止掉:

检查集群:

发现7002节点已失去联系,7004提升为主库。
重新打开redis-cli :

获取key1,是从7004节点获取,继续增加键,直到分配到7004节点上,打开7002节点:

此时7002是从库,重新启动7004,

发现7002重新被提升为主库。
至此,部署完成,主从备份功能正常,故障转移也正常。
注意,互为主从库的节点中,当主库宕机的时候从库会自动提升为主库,原主库重新连接上为置为从库,如果主从都宕机了,集群就故障了,为保障一套主从的安全,要多部署从库。
Redis部署说明的更多相关文章
- Nginx+redis部署tomcat集群
一.部署环境: 两个tomcat实例部署在Ubuntu 14上,IP地址分别为192.168.1.110和192.168.1.111,Nginx和redis部署在windows7上,IP地址为192. ...
- redis部署问题
在部署redis哨兵的时候,一开始一直都是失败:杀死master进程后,没有选出新的master 日志如下 9985:X 18 Feb 20:14:42.409 # +sdown master mym ...
- Redis 部署方式(单点、master/slaver、sentinel、cluster) 概念与区别
转载自 https://blog.csdn.net/java_zyq/article/details/83818341 在K8S上部署Redis集群时突然遇到一个(sentinel哨兵模式)概念,感觉 ...
- Operator 示例:使用 Redis 部署 PHP 留言板应用程序
「Kubernetes 官方示例:使用 Redis 部署 PHP 留言板应用程序」Operator 化. 源码仓库:https://github.com/jxlwqq/guestbook-operat ...
- nginx + tomcat + redis 部署项目,解决session共享问题。
最近自己搭了一套nginx的环境,集群部署了公司的一个项目,中间解决了session共享的问题.记录如下,以备日后查看. 1.环境 windows10 家庭中文版,jdk 7, tomcat 7.0. ...
- Redis 部署主从哨兵 C#使用,实现自动获取redis缓存 实例1
源码示例下载链接: https://pan.baidu.com/s/1eTA63T4 密码: un96 实现目标:windows 下安装 一台master服务 一台salve redis服务器 并且哨 ...
- .net 数据缓存(二)之Redis部署
现在的业务系统越来复杂,大型门户网站内容越来越多,数据库的数据量也越来愈大,所以有了“大数据”这一概念的出现.但是我们都知道当数据库的数据量和访问过于频繁都会影响系统整体性能体验,特别是并发量高的系统 ...
- (Nginx+PHP+MySQL)单机+Redis部署
链接:Nginx+PHP+MySQL+Redis多机部署 1.lnmp+redis工作机制 2.lnmp+redis操作步骤(lnmp为单机部署) (1)lnmp+redis实战环境 lnmp服务器: ...
- nginx+uwsgi+python3+pipenv+mysql+redis部署django程序
1.下载项目 git clone https://github.com/wangyitao/MyBlogs.git 2.进入Myblogs目录 cd MyBlogs 3.创建虚拟环境并且安装依赖 pi ...
随机推荐
- 获取邮箱使用情况、以及最后一次logon时间
# 每天收发邮件数 # https://gallery.technet.microsoft.com/scriptcenter/Count-sent-and-recceived-f9c66cf7 # 获 ...
- three.js的组合与合并,raycaster射线无法获取group
1.组合 创建一个组非常简单,在组中添加子元素的效果是,你可以对组进行移动.缩放和变形,而所有的子对象都会受到影响.使用组的时候,你依然可以引用.修改每一个单独的几何体.但是,使用raycaster射 ...
- [UE4]Grab抓取
一.关键函数:AttachToCompoent,将要抓取的物品附加到角色手上,让物品跟随手移动,开起来就像是抓取在手里了. 二.取消模拟物理.在开启模拟物理的情况下,AttachToCompoent是 ...
- jumpservice一步一步安装
一步一步安装 (CentOS) 本文档旨在帮助用户了解各组件之间的关系, 生产环境部署建议参考 进阶安装文档 云服务器快速部署参考 极速安装 安装过程中遇到问题可参考 安装过程中常见的问题 测试推荐环 ...
- C&C++类型定义typedef
1.声明 1.1结构声明: struct { int n; double x,y; }; 1.2带结构标志的声明 struct point{ double x,y; }; 1.3定义结构类型 1.3. ...
- 最长重复字符串题解 golang
最长重复字符串题解 package main import ( "fmt" "strings" ) type Index map[int]int type Co ...
- hive 一次更新多个分区的数据
类似订单数据之类的表,因为有状态要更新,比如订单状态,物流状态之类的, 这样就需要同步很久之前的数据,目前我的订单表是更新前面100天的数据. hive中操作是先删除前面100个分区的数据,然后重新动 ...
- 打包时,node内存溢出问题解决方法
在使用npm run build打包时,遇到node内存溢出问题. 网上查找到的决绝方案.解决方案一: 安装increase-memory-limit插件,扩大node的内存限制 但是,这个解决方案在 ...
- layer.open参数;layer.open关闭事件;layer.open关闭刷新;layer.open获取子页的值;layer.open调用子页面的方法
父页面 function layerOpen() { layer.open({ type: 2, shade: [0], title: "验收申请", area: ['1024px ...
- 走进HashMap
1.手写实现HashMap 2.解析代码并阐述HashMap1.7到1.8的变化 3.HashMap的遍历方式 4.HashMap与HashSet,Hashtable,ConcurrentHashMa ...