1.创建rediscluster目录存放redis集群
mkdir rediscluster
2.安装gcc
Redis 是 c 语言开发的。安装 redis 需要 c 语言的编译环境。如果没有 gcc 需要在线安装。
yum install gcc-c++
3.使用yum命令安装 ruby (ruby脚本是来实现集群搭建)
yum install ruby
yum install rubygems
4.下载redis压缩包
wget http://download.redis.io/releases/redis-3.2.8.tar.gz
5.下载后解压,然后进入解压后的redis文件夹编译redis
tar -zxvf redis-3.2.8.tar.gz
进入redis源码文件夹安装
make
make install PREFIX=/hao/rediscluster/redis-1
依次到6
7.复制配置文件 将 /redis-3.2.8/redis.conf 复制到redis下的bin目录下
cp redis.conf /hao/rediscluster/redis-1/bin
8.修改每个redis节点的配置文件redis.conf
修改运行端口为7001 (7002 7003 …)
9.将cluster-enabled yes 前的注释去掉
10.以第一个实例为例,命令如下
cd /hao/rediscluster/redis-1/bin
./redis-server redis.conf
11.启动每个redis实例
12.查看一下是不是都启动起来了
13.上传redis-3.0.0.gem ,安装 ruby用于搭建redis集群的脚本。
gem install redis-3.0.0.gem
14.进入redis源码目录中的src目录 执行下面的命令
./redis-trib.rb create --replicas 1 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 127.0.0.1:7006
15.如果需要阿里云端口配置 修改下面的端口bind 修改为你阿里云IP的端口号,protected-mode yes换成no
删除 bin/nodes.conf
rm -rf nodes.conf
查看启动的redis端口
ps -ef | grep redis
删除 127.0.0.1 前面的进程号
kill -9 进程号
cd /hao/rediscluster/redis-1/bin
./redis-server
再次查看启动进程
ps -ef | grep redis
./redis-trib.rb create --replicas 1 阿里云IP:700 阿里云IP:7002 阿里云IP:7003 阿里云IP:7004 阿里云IP:7005 阿里云IP:7006
创一个dome测试redis集群
一、引入依赖
1.8
org.springframework.boot
spring-boot-starter-data-redis
redis.clients
jedis
2.9.0
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-test
test
org.junit.vintage
junit-vintage-engine
org.springframework.boot
spring-boot-maven-plugin
二、 在application.yml写上自己阿里云的端口号
spring:
redis:
cluster:
nodes: 阿里云IP:7001, 阿里云IP:7002, 阿里云IP:7003, 阿里云IP:7004 阿里云IP:7005, 阿里云IP:7006
max-redirects: 6
三、test测试
@Test
public void test1(){
System.out.println(redisTemplate.hasKey("name"));
redisTemplate.opsForValue().set("name", "123214");
String name = (String) redisTemplate.opsForValue().get("name");
System.out.println(name);
redisTemplate.opsForValue().set("name2", "123214");
String name2 = (String) redisTemplate.opsForValue().get("name");
System.out.println(name2);
redisTemplate.opsForValue().set("name3", "123214");
String name3 = (String) redisTemplate.opsForValue().get("name");
System.out.println(name3);
redisTemplate.opsForValue().set("name4", "123214");
String name4 = (String) redisTemplate.opsForValue().get("name");
System.out.println(name4);
HashOperations hashOperations = redisTemplate.opsForHash();
hashOperations.put("user", "test", "测试");
System.out.println(hashOperations.get("user", "test"));
}