springboot+jedis+读写分离+哨兵模式+集群高可用

准备软件:

1.  Redis-x64-3.0.502.zip

2.  rubyinstaller-2.4.2-2-x64.exe

3.  rubygems-2.7.3.zip

4.  redis-trib.rb

安装开始:

1.      首先将redis 解压复制三份(至少是三份,搭建集群需要至少三个)



分别修改成对应端口:


redis缓存持久化有俩种:

⑴.rdb  在一定时间操作一定次数就能进行持久化


分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。

(2).aof 持久化


a. no:表示等操作系统进行数据缓存同步到磁盘(快)?
b. always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)?
c. everysec:表示每秒同步一次(折衷,默认值)
d. 推荐 :appendfsync everysec

aof 持久化 是以日志的形式记录用户对redis的写操作,把所有写操作以日志的形式记录在日志进行持久化

rdb 恢复缓存的安全性较低,但恢复速度快且性能比较好,一般会丧失最后一次保存

aof 恢复缓存的安全性较高,但恢复速度慢且每次进行写操作都会触动进程fork 来append 进日志

rdb和aof文件损坏可以

例:修复aof文件

redis-check-aof --fix appendonly.aof 

(3).开启redis集群配置:




这里所需要的配置完成。

为了启动的方便你可以创建一个快捷启动的方式创建一个start.bat的文件放在redis解压包下面,并且在里面编写如下语句:

title redis-start


如果不编写也可以那就在启动时指定文件启动执行如下代码,但是需要切换到redis加压包下面:

redis-server.exe redis.windows.conf如图所示:



这两个效果是一样的。

这只是编写一个,其他俩个也是按照上边的方法编写,记住别忘记修改成对应的端口号。

安装ruby:双击rubyinstaller-2.2.4-x64.exe


4.安装gem。将下载的rubygems-2.7.3.zip解压,我将解压后的rubygems-2.7.3.zip放在了redis的下面,如下图所示:


.安装gem。将下载的rubygems-2.6.13.zip解压,我将解压后的rubygems-2.6.13.zip放在了redis的下面,如下图所示:



以上就是所需要的环境已经准备完成,现在下面就是启动

分别启动每一个redis,我这里是3个启动完成之后如图



下面进入到redis7001这个安装目录,如图:




执行如下命令:rubyredis-trib.rb create --replicas 0 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003

(网上有直接输入在

其中

--replicas 0 表示每个主数据库拥有从数据库个数为0

--replicas 1 表示每个主数据库拥有从数据库个数为1

我们这里先设置从节点为0,后面再配置从节点,可以在redis.conf中配置

出现如下所示然后输入:yes


执行完后,现在测试

下面进行测试一下:

redis-cli.exe  -c  -h ip-p  端口 

输入:redis-cli.exe  -c  -h 127.0.0.1-p  7001



在springboot 下集成redis 集群

1.      加入俩个 java redis 工具类




直接调用JedisClient 进行对redis 进行读写


具体的可以看我项目源码

一下配置从节点

复制多份redis解压包

在你配置的从机的配置文件里面配置主机的ip 端口号  比如我这里的主机是127.0.0.1端口号 7002

在redis.conf 下找到


换成


请需要配置从节点的配置文件里面改对应的主节点的ip host

开启哨兵模式

在三个redis 下面分别编写sentinel.conf 文件


这里所需要的配置完成。

为了启动的方便你可以创建一个快捷启动的方式创建一个start.bat的文件放在redis解压包下面,并且在里面编写如下语句:

title redis-start


跟上面一样启动这个redis

以上配置完毕。

在springboot 编写代码

注入redis 



欢迎下载搭建redis所需要的软件还有项目demo源代码:http://download.csdn.net/download/towin_hong/10163755

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
好的,我可以为您提供一个简单的示例。首先,您需要在pom.xml中添加以下依赖项: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency> ``` 接下来,您需要在application.properties文件中配置Redis连接信息: ``` spring.redis.host=127.0.0.1 spring.redis.port=6379 spring.redis.password= ``` 然后,您可以创建一个Redis配置类: ```java @Configuration public class RedisConfig { @Value("${spring.redis.host}") private String host; @Value("${spring.redis.port}") private int port; @Value("${spring.redis.password}") private String password; @Bean public JedisConnectionFactory jedisConnectionFactory() { JedisConnectionFactory jedisConFactory = new JedisConnectionFactory(); jedisConFactory.setHostName(host); jedisConFactory.setPort(port); jedisConFactory.setPassword(password); return jedisConFactory; } @Bean public RedisTemplate<String, Object> redisTemplate() { RedisTemplate<String, Object> template = new RedisTemplate<>(); template.setConnectionFactory(jedisConnectionFactory()); return template; } } ``` 最后,您可以在需要使用Redis的类中使用RedisTemplate来进行操作: ```java @Autowired private RedisTemplate<String, Object> redisTemplate; public void setValue(String key, Object value) { redisTemplate.opsForValue().set(key, value); } public Object getValue(String key) { return redisTemplate.opsForValue().get(key); } ``` 这就是一个简单的Spring Boot整合Redis和Jedis的示例。当然,实际应用中可能需要更复杂的配置和操作,您可以根据自己的需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值