你练的哪门子功夫?redis武林大会之江湖大赏(三)

前序

古言相传:有分布式的地方,就有redis。redis问世以来,便以其快捷的速度、多样的数据结构和优良的性能,在key-value数据库争霸中攻城拔寨,深受众多绿林好猿的喜爱。而代码界的武林大会也因redis年年的精彩表现,被逐渐冠以‘redis武林大会’。。。。。。。

话不多说,先手赠redis基本微操一册,请少侠笑纳:

传送门:

你练的哪门子功夫?redis武林大会之江湖大赏(一)

https://www.cnblogs.com/powerZhangFly/p/13926619.html

 你练的哪门子功夫?redis武林大会之江湖大赏(二)

https://www.cnblogs.com/powerZhangFly/p/13858684.html

今日所叙,乃数据库备份与集群之哨兵模式

正文

1.Java客户端

jedis

实现功能

管道pipeline

如对bitMap的操作   pipeline.setbit(key,offset,value);

使用lua脚本实现原子操作

jedis.eval(scrip脚本字符串,Arrays.asList("key"),Arrays.asList("value"))

2.redis哨兵高可用架构

 

 

2.1哨兵搭建步骤

①先复制两份sentinel.conf文件

②修改三个配置文件的相关配置(IP   端口)

③启动sentinel哨兵实例

2.2jedis链接哨兵集群

 1 JedisPoolConfig config = new JedisPoolConfig();
 2 
 3 config.setMaxTotal(20);
 4 
 5 String masterName = "mymaster";
 6 
 7 Set<String> sentinels = new HashSet<>();
 8 
 9 sentinels.add(new HostAndPort("192.168.1.1",“26375”).toString());
10 
11 sentinels.add(new HostAndPort("192.168.1.2",“26376”).toString());
12 
13 JedisSetinelPool jedisSetinelPool = new JedisSetinelPool(masterName,sentinels,config,timeout:3000,"mypassword");
14 
15 Jedis jedis = jedisSentinelPool.getResource();

2.3springboot整合redis

①引入spring-boot-starter-data-redis的依赖包

②在YML配置文件配置主服务器所在集群名称,各节点的IP:PORT,连接池使用letttuce(springboot在2.X之后的用法,也可以切成jedis)

③代码里通过redisTemplate进行操作

附:redis与redisTemplate命令对照表

 

 注意:

redisTemplate底层用JDK的序列化

StringRedisTemplate则输入的是何值,存入的就是何值

posted @ 2020-11-04 18:40  powerZhangFly  阅读(72)  评论(0)    收藏  举报