Redis集群分布(Windows版)

Posted 前方有路

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis集群分布(Windows版)相关的知识,希望对你有一定的参考价值。

Redis系列

作者Mr.Chen,转载请注明博客出处:http://www.cnblogs.com/cjh-notes/

第一步:下载安装redis

windows版的下载地址:https://github.com/MSOpenTech/redis/releases

文件目录介绍:

服务端:redis-server.exe

客户端:redis-cli.exe

配置文件:redis.windows.conf

集群工具:redis-trib.rb(windows的安装文件是没有这个的,需要从linux的版本拷贝过来)

 

第二步:安装ruby

下载安装railsinstaller,这是一个打包好的一站式安装包,里面包含了Ruby、Ralis等组件

官方地址:http://railsinstaller.org/en

百度网盘:https://pan.baidu.com/s/1eUje2L8

安装完成后在cmd窗口中执行命令gem install redis

 

第三步:配置Redis节点

配置集群节点的方法跟上一节linux环境中的操作是基本一样的,这里就不在赘述。

 

第四步:创建集群

进入redis-trib.rb文件所在目录并执行以下命令,这里示例是3主0从:

ruby redis-trib.rb create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002

 

最后一步:在java中调用redis

注:在非集群和集群环境中调用的方式有所不同,非集群中使用是Jedis对象,而集群中使用的是JedisCluster对象。

附上代码:

package com.cjh;

import com.sun.org.apache.regexp.internal.RE;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisCluster;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Set;

/**
 * Created by 20628_000 on 2018/1/24.
 */
public class RedisTest {

    public static void main(String arges[]) {
        new RedisTest().init();
    }

    private static final Logger logger = LogManager.getLogger(RedisTest.class);

    private static JedisCluster jc = null;

    public void init() {
        //连接本地的 Redis 服务
       /*jedis = new Jedis("127.0.0.1",7002);
        System.out.println("连接成功");
        System.out.println("服务正在运行: "+jedis.ping());*/


        Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
//Jedis Cluster will attempt to discover cluster nodes automatically
        jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7000));
        jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7001));
        jedisClusterNodes.add(new HostAndPort("127.0.0.1", 7002));
        jc = new JedisCluster(jedisClusterNodes);
        test();
    }

    public void test() {
        HashMap map = new HashMap();
        map.put("name", "cjh");
        map.put("age", "25");
        map.put("sex", "male");
        jc.hmset("myInfo", map);
        logger.info(jc.hget("myInfo", "age"));
    }

}

运行程序,查看打印信息:

2018-02-19 17:13:42 INFO com.cjh.RedisTest – 25

 

测试通过~

 

以上是关于Redis集群分布(Windows版)的主要内容,如果未能解决你的问题,请参考以下文章

windows版redis集群搭建

windows+nginx+iis+redis+Task.MainForm构建分布式架构 之 (nginx+iis构建服务集群)

浅谈集群版Redis和Gossip协议

Windows 环境搭建Redis集群

redis演练 redis Cluster 集群环境安装

Redis集群 之 Sentinel模式Windows篇