日常的项目很多时候都需要用到缓存。redis算是一个比较好的选择。一般情况下做一个主从就可以满足一些比较小的项目需要。在一些并发量比较大的项目可能就需要用到集群了,redis在Windows下做集群可能未必可取,就算是学习一下,今天就和大家分享一下在Windows下部署redis集群。
使用时候可以先了解redis cluster的原理http://www.cnblogs.com/foxmailed/p/3630875.html
一、环境
系统:Windows7
redis版本:2.8
ruby环境
二、环境准备
因为使用的这个工具是用ruby开发的所以需要安装一下ruby的环境。
1、ruby下载安装http://rubyinstaller.org/downloads/
2、redis下载安装https://github.com/MSOpenTech/redis,下载解压找到redis-trib.rb文件,这文件在创建redis集群的时候会用到,等下再做介绍
如果有以下这部分文件就直接使用,不然就自己去下载一下Windows版本的redis。解压后也会有以下的文件
3、安装Ruby,win下安装完程序ruby环境已经继承好了,一般不需要做什么改动
(有的人建议ruby 使用淘宝的源https://ruby.taobao.org/,因为在使用的过程中没发现有什么问题所以就没有换)
在cmd下运行
gem install redis
如果redis环境安装不成功在下面会出现以下下错误。具体可以参考http://blog.csdn.net/moxiaomomo/article/details/17540813
安装成功!
三、redis配置
1、打开redis的配置文件redis.windows.conf(配置文件名称可以改变,启动的时候指定配置文件即可),只保留以下几项配置项
daemonize yes
port
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout
appendonly yes
2、如此复制六份,分别改端口号为9001~9006。分别启动9001到9006的redis程序。
3、配置集群
执行脚本。具体操作可参考http://doc.redisfans.com/topic/cluster-tutorial.html#id5
redis-trib.rb create --replicas 1 127.0.0.1:9001 127.0.0.1:9002 127.0.0.1:9003 127.0.0.1:9004 127.0.0.1:9005 127.0.0.1:9006
命令的意义如下:
给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。
选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
执行成功后。查看nodes.conf文件。里面的对应配置信息说明每个主节点和从节点的关系。
4、集群节点的操作
添加节点:重新添加两个节点9007和9008如9001操作,所添加两个节点为主节点
redis-trib.rb add-node 127.0.0.1:9007 127.0.0.1:9008
删除节点:移除9004节点
redis-trib.rb del-node 127.0.0.1:9001 6fd2df0fa12e0ce5ea150f03bdb6a969a189d885 --该ID为9004节点ID
添加从节点:为9003添加从节点9004
redis-trib.rb add-node --slave --mast er-id 26212a8a04d9c36f68f049630d2bdac602a9ddfa 127.0.0.1:9004 127.0.0.1:9003
【26212a8a04d9c36f68f049630d2bdac602a9ddfa】是9003节点ID
通过上述例子算是对redis在Windows下部署集群有一定的了解,当然Redis Cluster还包括了故障转移、重新分配,以及客服端连接时的指向等内容,有兴趣的可以去深入了解一下。入门的东西都不难,怎么样使用好才是关键!
window下使用Redis Cluster部署Redis集群的更多相关文章
-
【docker】【redis】2.docker上设置redis集群---Redis Cluster部署【集群服务】【解决在docker中redis启动后,状态为Restarting,日志报错:Configured to not listen anywhere, exiting.问题】【Waiting for the cluster to join...问题】
参考地址:https://www.cnblogs.com/zhoujinyi/p/6477133.html https://www.cnblogs.com/cxbhakim/p/9151720.htm ...
-
Redis Cluster高可用集群在线迁移操作记录【转】
之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...
-
Redis Cluster高可用集群在线迁移操作记录
之前介绍了redis cluster的结构及高可用集群部署过程,今天这里简单说下redis集群的迁移.由于之前的redis cluster集群环境部署的服务器性能有限,需要迁移到高配置的服务器上.考虑 ...
-
近千节点的Redis Cluster高可用集群案例:优酷蓝鲸优化实战(摘自高可用架构)
(原创)2016-07-26 吴建超 高可用架构导读:Redis Cluster 作者建议的最大集群规模 1,000 节点,目前优酷在蓝鲸项目中管理了超过 700 台节点,积累了 Redis Clus ...
-
[MapReduce_add_1] Windows 下开发 MapReduce 程序部署到集群
0. 说明 Windows 下开发 MapReduce 程序部署到集群 1. 前提 在本地开发的时候保证 resource 中包含以下配置文件,从集群的配置文件中拷贝 在 resource 中新建 ...
-
部署Redis Cluster 6.0 集群并开启密码认证 和 Redis-cluster-proxy负载
部署Redis Cluster集群并开启密码认证 如果只想简单的搭建Redis Cluster,不需要设置密码和公网访问,可以参考官方文档. 节点介绍 Cluster模式推荐最少有6个节点,本次实验搭 ...
-
redis cluster 设置密码做集群时gem下client.rb文件修改
redis节点有设置密码,然后在创建集群的时候没有设置密码的命令 ./redis-trib.rb create --replicas 1 127.0.0.1:6381 127.0.0.1:6382 1 ...
-
redis 3.0的集群部署
转载请注明出处:http://hot66hot.iteye.com/admin/blogs/2050676 最近研究redis-cluster,正好搭建了一个环境,遇到了很多坑,系统的总结下,等到re ...
-
(转)redis 3.0的集群部署
一:关于redis cluster 1:redis cluster的现状 reids-cluster计划在redis3.0中推出,可以看作者antirez的声明:http://antirez.com/ ...
随机推荐
-
SVN安装及使用
1.SVN的安装 1.1 安装软件 以下图1中两个图标,分别是SVN服务器端和客户端安装软件 图1 1.2 服务器安装步骤 先点击图1第一个图标,安装SVN的服务器,默认安装即可,安装成功的界面如下图 ...
-
怎样记住Integer的最大值(有趣的思维和搞笑的回答)
前言 今天一个同事问我,数据库里面的某表如果用int做PK,那该表最多可以放多少记录,我说简单啊,就是2^31(正数),跟.NET的Int32.MaxValue一样,约等于20亿(正数)吧.同事说,那 ...
-
jQuery 利用 $.getJson() 实现跨域
数据量不大时,跨域的不二之选,而且操作简单,易上手. a.com/test.html //这里我假定有一些数据: var formData = form.serialize(); //这里的jsonc ...
-
(转)文件系统缓存dirty_ratio与dirty_background_ratio两个参数区别
这两天在调优数据库性能的过程中需要降低操作系统文件Cache对数据库性能的影响,故调研了一些降低文件系统缓存大小的方法,其中一种是通过修改/proc/sys/vm/dirty_background_r ...
-
powerdesigner使用之——从“概念模型”到“物理模型”
现实问题在计算机上的解决,需要我们从现实问题中抽象出实体模型,然后再将实体模型对应到数据库关系表中. 例如,我们在思考学生选课,这件事情上,实体模型就是“学生”和“课程”两个 此时,我们使用power ...
-
C# 客户端发送http请求代码 (c/s)
public class RestClient { private string BaseUri; public RestClient(string baseUri) { this.BaseUri = ...
-
从头开始学JavaScript (九)——执行环境和作用域
原文:从头开始学JavaScript (九)--执行环境和作用域 一.执行环境:定义了变量或者函数有权访问的其他数据,决定了它们各自的行为.每个执行环境都有与之关联的变量对象. 变量对象:保存着环境中 ...
-
for循环中按条件删除数据元素
var managerList = [ { id: 0, title: '小小消息的标题1', small: '小小消息内容', newsFlag:true, }, { id: 1, title: ' ...
-
PostegreSQL模板数据库
模板数据库 模板数据库就是创建新database时,PostgreSQL会基于模板数据库制作一份副本,其中会包含所有的数据库设置和数据文件. CREATE DATABASE 实际上是通过拷贝一个现有的 ...
-
关于Windows勒索病毒以及445端口防护
前两天,与这个周末,5月12日起,Onion.WNCRY两类敲诈者病毒变种在全国乃至全世界大范围内出现爆发态势,大量个人和企业.机构用户中招. 与以往不同的是,这次的新变种病毒添加了NSA(美国国家安 ...