redis centos集群搭建和java应用

1. 首先要ssh免密登录

redis集群,3台虚拟机,6个节点,每台机器2个节点一主一从。

192.168.132.154 c0
192.168.132.156 c1
192.168.132.155 c2

  下载并解压文件,请到官网下载。文末有网盘下载地址。

tar -zxvf redis-5.0.4.tar.gz

 安装或更新C语言环境

yum install gcc-c++
安装Redis,默认安装在当前目录下,可以使用PREFIX参数更改安装位置
make install PREFIX=/home/xiaozw/soft/java/redis

2. 修改配置文件redis.conf,3台服务器,6个节点都需要修改。

 日志文件路径

logfile "/home/xiaozw/soft/tmp/redis"
Redis绑定的Ip地址
bind 192.168.132.154

bind 192.168.132.156

bind 192.168.132.155

 端口(7000-7005):

port 7000

  每个Redis的集群设置打开

cluster-enabled yes
daemonize yes

  aof日志每一个操作都记录模式

appendonly yes
查看redis状态
ps -ef|grep redis

 

 关闭redis

./redis-cli -h 192.168.132.154 -p 7000 shutdown
拷贝文件到其它服务器,切换当前路径到/home/xiaozw/soft/java
scp -r redis root@c1:/home/xiaozw/soft/java

3. 分别启动6个节点

./redis-server ./redis.conf

 4. 安装ruby

yum install ruby

5. 将6个Redis加入一个集群
./redis-cli --cluster create 192.168.132.154:7000 192.168.132.154:7001 192.168.132.156:7002 192.168.132.156:7003 192.168.132.155:7004 192.168.132.155:7005 --cluster-replicas 1

 

 

  6. java调用 

复制代码
     /**
     * 配置缓存服务器ip和端口
     * @return
     */
    @Bean
    public JedisCluster JedisClusterFactory() {
        Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
        jedisClusterNodes.add(new HostAndPort("192.168.132.154", 7000));
        jedisClusterNodes.add(new HostAndPort("192.168.132.154", 7001));
        jedisClusterNodes.add(new HostAndPort("192.168.132.156", 7002));
        jedisClusterNodes.add(new HostAndPort("192.168.132.156", 7003));
        jedisClusterNodes.add(new HostAndPort("192.168.132.155", 7004));
        jedisClusterNodes.add(new HostAndPort("192.168.132.155", 7005));
        JedisCluster jedisCluster = new JedisCluster(jedisClusterNodes);
        return jedisCluster;
    }
复制代码

 

复制代码
    /**
     * 测试写入读取缓存
     */
    @RequestMapping("/getCacheTest")
    @ResponseBody
    public void getCacheTest(){
        redisDAO.set("myKey","hello world");
        System.out.println("缓存返回:"+redisDAO.get("myKey"));
    }
复制代码
返回:

7. 文件下载地址

 链接:https://pan.baidu.com/s/1sgerqrHFWxxewXJBu8yyTg 

提取码:1o8d

posted @   放电的牛  阅读(178)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示