《分布式缓存架构-RedisCluster集群办法 redis-5.0.5快速搭建》进行一个大略的补充
Redis主从和cluster是支持密码认证的。
主从和cluster在之前的文章都有展示,须要的朋友可以直接看

分布式缓存架构-RedisCluster集群办法 redis-5.0.5快速搭建
哨兵机制的浸染:管理集群redis、监控选举策略、心跳检测
2、masterauth和requirepass设置
masterauth浸染:紧张是针对master对应的slave节点设置的,在slave节点数据同步的时候用到。
requirepass浸染:对登录权限做限定,redis每个节点的requirepass可以是独立、不同的。
建议:masterauth和requirepass设置相同
3、redis密码配置
vi redis.conf
每个redis都设置一下,设置成功后。
./redis-cli --cluster create 192.168.88.128:9001 192.168.88.128:9002 192.168.88.128:9003 192.168.88.128:9004 192.168.88.128:9005 192.168.88.128:9006 -a 123 --cluster-replicas 1 --cluster-replicas 1
赤色箭头 输入 -- yes
这样集群启动成功
测试一下是否成功 (-a 123) 设置的密码为123
/usr/local/redis-cluster/9001/redis/bin/redis-cli -c -h 192.168.88.128 -p 9001 -a 123
可以看到set name已经跳转到了9002上。解释成功了。
接下来spring boot连接
springboot连接redis集群spring.redis.password=123spring.redis.jedis.pool.max-active=8spring.redis.jedis.pool.max-wait=-1spring.redis.jedis.pool.max-idle=8spring.redis.jedis.pool.min-idle=0spring.redis.timeout=10000spring.redis.cluster.commandTimeout=5000spring.redis.cluster.nodes=192.168.88.128:9001,192.168.88.128:9002,192.168.88.128:9003,192.168.88.128:9004,192.168.88.128:9005,192.168.88.128:9006
增加了一个password配置
接下来看一下JedisCluster的布局器,创造一个带有password的方法
public JedisCluster(Set<HostAndPort> jedisClusterNode, int connectionTimeout, int soTimeout, int maxAttempts, String password, GenericObjectPoolConfig poolConfig) { super(jedisClusterNode, connectionTimeout, soTimeout, maxAttempts, password, poolConfig);}
jedisClusterNode redis的node做事
connectionTimeout 连接超时时间
soTimeout 读取数据超时 ( 也便是response的韶光)
maxAttempts 涌现非常最大重试次数
GenericObjectPoolConfig 这个工具池根据项目须要自己定义就行
JedisClusterConfig 配置类
public class JedisClusterConfig { @Autowired private RedisProperties redisProperties; public JedisCluster getJedisCluster(){ String [] serverArray=redisProperties.getClusterNodes().split(\"大众,\"大众); Set<HostAndPort> nodes=new HashSet<>(); for (String ipPort:serverArray){ String [] ipPortPair=ipPort.split(\公众:\公众); nodes.add(new HostAndPort(ipPortPair[0].trim(),Integer.valueOf(ipPortPair[1].trim()))); } return new JedisCluster(nodes, redisProperties.getCommandTimeout(),2000,5,redisProperties.getPassword(),new GenericObjectPoolConfig()); }}
赤色是与昨日的差异之处
这样带密码的redis集群配置就结束了。