1 环境准备
yum install gcc-c++ -y
2 下载并安装redis集群
$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-5.0.5.tar.gz
$ cd redis-5.0.5
$ make
3 差异化配置redis-5.0.5
redis-5.0.5/utils/create-cluster 第3,4,5步以下操作均在该目录下
port=7000 集群端口号丛7000开始增加1(不包含7000)
--bind 0.0.0.0 不限制绑定的ip
--protected-mode no 关闭安全模式(外部应用可以连接到redis)
4 启动redis集群
./create-cluster start
5 建立集群互联
./create-cluster create
6 验证
cd /redis-5.0.5/src
7 集成spring-boot
7.1 编辑application.yml
记得替换自己的ip
server:
port: 8080
spring:
redis:
database: 0
host: 127.0.0.1
jedis:
pool:
max-active: 8
max-idle: 8
max-wait: -1
min-idle: 0
password: ''
port: 6379
timeout: 10000
#redis集群版
cluster:
nodes:
- 192.168.207.88:7001
- 192.168.207.88:7002
- 192.168.207.88:7003
- 192.168.207.88:7004
- 192.168.207.88:7005
- 192.168.207.88:7006
max-redirects: 3 # 获取失败 最大重定向次数
lettuce:
pool:
max-active: 1000 #连接池最大连接数(使用负值表示没有限制)
max-idle: 10 # 连接池中的最大空闲连接
min-idle: 5 # 连接池中的最小空闲连接
max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class RedisApplicationTest {
@Resource
private RedisTemplate redisTemplate;
@Autowired
private Jedis jedis;
@Test
public void test(){
Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
ObjectMapper om = new ObjectMapper();
om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
jackson2JsonRedisSerializer.setObjectMapper(om);
RedisSerializer stringSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(stringSerializer);//key序列化
redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
redisTemplate.opsForValue().set("clusterKey1","test");
}
}