在Spring Boot项目中使用Redis集群

Redis安装

Mac 系统安装Redis

brew方式安装

在命令汗执行命令

brew install redis

安装完成之后的提示信息

==> Downloading https://homebrew.bintray.com/bottles/redis-5.0.2.mojave.bottle.tar.gz
######################################################################## 100.0%
==> Pouring redis-5.0.2.mojave.bottle.tar.gz
==> Caveats
To have launchd start redis now and restart at login:
  brew services start redis
Or, if you don't want/need a background service you can just run:
  redis-server /usr/local/etc/redis.conf
==> Summary
  /usr/local/Cellar/redis/5.0.2: 13 files, 3.1MB

启动redis服务

brew services start redis

启动后提示信息

==> Successfully started `redis` (label: homebrew.mxcl.redis)

下面我们来使用redis内置的客户端来访问redis

$ src/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"

下面我们就可以操作了redis了。

如果要停止redis服务,可以执行命令

brew services stop redis

重启redis服务,可以执行命令

brew services restart redis

如果需要卸载redis,可以执行

brew uninstall redis

查看HomeBrew安装的全部服务可以使用命令

brew services list

配置文件在/usr/local/etc目录下

源代码编译安装

1. 下载

$ wget http://download.redis.io/releases/redis-5.0.3.tar.gz

2. 解压

$ tar xzf redis-5.0.3.tar.gz
$ cd redis-5.0.3
$ make

3. 跳转到redis目录编译

$ cd redis-5.0.3 && make

如果需要跑redis的测试,可以执行

$ make test

到现在我们就编译好了redis了。接下来,我们把编译的文件放到redis-5.0.3/bin目录下,把配置文件移动到redis-5.0.3/config目录下

$ mkdir bin && cd src && mv redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb ../bin/
$ cd ../ && mkdir config && mv *.conf config/

接下来启动redis服务

$ bin/redis-server

现在我们可以启动redis的客户端来检查是否是确定服务正常。

$ bin/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"

集群配置

我们这里配置官方推荐的三主三从模式的集群配置。这里使用的是采用源代码编译方式安装的版本。

首先,我们修改配置文件reids.conf,主要修改以下属性:

port 6380                           // 节点端口
daemonize yes                       // 配置redis作为守护进程运行,默认情况下,redis不是作为守护进程运行的
cluster-enabled yes                 // 是否开启集群
cluster-config-file nodes-7000.conf // 该节点的对应的节点配置文件
cluster-node-timeout 15000          // 集群超时时间
pidfile /var/run/redis_6380.pid     // 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定

我们将文件另存为redis-6380.conf,并将该文件复制5份,分别修改文件中的6380为6381,6382,6383,6384,6385。

这样我们就有如下六个配置文件。

redis-6380.conf
redis-6381.conf
redis-6382.conf
redis-6383.conf
redis-6384.conf
redis-6385.conf

其中redis-6380.conf,redis-6381.conf,redis-6382.conf文件为主节点的配置文件,redis-6383.conf,redis-6384.conf,redis-6385.conf为从节点的配置文件。

下面我们执行以下命令

$ mkdir logs
$ nohup bin/redis-server ./config/redis-6380.conf >> logs/redis-6380.log 2>&1 &
$ nohup bin/redis-server ./config/redis-6381.conf >> logs/redis-6381.log 2>&1 &
$ nohup bin/redis-server ./config/redis-6382.conf >> logs/redis-6382.log 2>&1 &
$ nohup bin/redis-server ./config/redis-6383.conf >> logs/redis-6383.log 2>&1 &
$ nohup bin/redis-server ./config/redis-6384.conf >> logs/redis-6384.log 2>&1 &
$ nohup bin/redis-server ./config/redis-6385.conf >> logs/redis-6385.log 2>&1 &

之后运行命令

./bin/redis-cli --cluster create 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 --cluster-replicas 1

当提示

Can I set the above configuration?(type 'yes' to accept):

时输入 yes 。至此集群就搭建完毕了。

Spring Boot项目中配置redis集群

将Spring boot项目中的redis配置修改为:

redis:
    database: 0
    cluster:
        nodes: 127.0.0.1:6380,127.0.0.1:6381,127.0.0.1:6382,127.0.0.1:6383,127.0.0.1:6384,127.0.0.1:6385
        max-redirects: 2

到这里就可以在项目中访问Redis集群了

原文地址:https://www.cnblogs.com/lave/p/10483016.html

时间: 2024-09-30 05:55:19

在Spring Boot项目中使用Redis集群的相关文章

maven项目中使用redis集群报错: java.lang.NumberFormatException: For input string: "[email protected]"

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [redis.clients.jedis.JedisCluster]: Constructor threw exception; nested exception is java.lang.NumberFormatException: For input string: "[email protected]" at

Spring Boot项目中使用Mockito

本文首发于个人网站:Spring Boot项目中使用Mockito Spring Boot可以和大部分流行的测试框架协同工作:通过Spring JUnit创建单元测试:生成测试数据初始化数据库用于测试:Spring Boot可以跟BDD(Behavier Driven Development)工具.Cucumber和Spock协同工作,对应用程序进行测试. 进行软件开发的时候,我们会写很多代码,不过,再过六个月(甚至一年以上)你知道自己的代码怎么运作么?通过测试(单元测试.集成测试.接口测试)可

Spring Boot项目中如何定制PropertyEditors

本文首发于个人网站:Spring Boot项目中如何定制PropertyEditors 在Spring Boot: 定制HTTP消息转换器一文中我们学习了如何配置消息转换器用于HTTP请求和响应数据,实际上,在一次请求的完成过程中还发生了其他的转换,我们这次关注将参数转换成多种类型的对象,如:字符串转换成Date对象或字符串转换成Integer对象. 在编写控制器中的action方法时,Spring允许我们使用具体的数据类型定义函数签名,这是通过PropertyEditor实现的.Propert

Spring Boot项目中如何定制拦截器

本文首发于个人网站:Spring Boot项目中如何定制拦截器 Servlet 过滤器属于Servlet API,和Spring关系不大.除了使用过滤器包装web请求,Spring MVC还提供HandlerInterceptor(拦截器)工具.根据文档,HandlerInterceptor的功能跟过滤器类似,但拦截器提供更精细的控制能力:在request被响应之前.request被响应之后.视图渲染之前以及request全部结束之后.我们不能通过拦截器修改request内容,但是可以通过抛出异

在Spring Boot项目中使用Spock测试框架

摘自:https://www.cnblogs.com/javaadu/p/11748473.html 本文首发于个人网站:在Spring Boot项目中使用Spock测试框架 Spock框架是基于Groovy语言的测试框架,Groovy与Java具备良好的互操作性,因此可以在Spring Boot项目中使用该框架写优雅.高效以及DSL化的测试用例.Spock通过@RunWith注解与JUnit框架协同使用,另外,Spock也可以和Mockito(Spring Boot应用的测试——Mockito

Spring Boot 项目中使用JSP

1    第2-2课:Spring Boot 项目中使用JSP JSP(Java Server Pages,Java 服务器页面)是一个简化的 Servlet 设计,它是由 Sun Microsystems 公司倡导.许多公司参与一起建立的一种动态网页技术标准.JSP 技术类似 ASP 技术,它是在传统的网页 HTML(标准通用标记语言的子集)文件(.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),从而形成 JSP 文件,后缀名为(*.jsp).用 JSP 开

项目中使用Quartz集群分享--转载

项目中使用Quartz集群分享--转载 在公司分享了Quartz,发布出来,希望大家讨论补充. CRM使用Quartz集群分享  一:CRM对定时任务的依赖与问题  二:什么是quartz,如何使用,集群,优化  三:CRM中quartz与Spring结合使用 1:CRM对定时任务的依赖与问题  1)依赖  (1)每天晚上的定时任务,通过sql脚本 + crontab方式执行 Xml代码   #crm 0 2 * * * /opt/***/javafiles/***/shell/***_dail

Spring Boot项目中@SpringBootTest测试的时候卡住,一直Resolving Maven dependencies...

问题 用过idea(笔者经常用2018.3.x)创建 spring boot项目的时候默认会创建一个以下骨架的测试代码 package com.atguigu; import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest class DemoApplicationTests { @Test void contextLoads() {

Linux中的redis集群搭建

看在多的书,若果不实践一次,我觉得效果并不好,只有自己完完整整的做一次! 所以今天打算搭建一个redis集群来练练手~! 1.Linux CentOS  , redis-3.2.4 版本 2.配置环境  linux 虚拟机2台  . 3.每个linux系统配置3个节点, 3主3从 OK,开始搭建,具体步骤我会截图,完完整整的将所有步骤写下来! 1.创建一个文件夹存放下载的redis安装包 2.进入文件进行下载 3.下载后的包进行解压 tar -zxvf redis-3.2.4 4.因为安装red