广告
返回顶部
首页 > 资讯 > 数据库 >04.redis集群+SSM整合使用
  • 872
分享到

04.redis集群+SSM整合使用

2024-04-02 19:04:59 872人浏览 独家记忆
摘要

 redis集群+SSM整合使用首先是创建Redis-cluster文件夹:因为redis最少需要6个节点(三主三从),为了更好的理解,我这里创建了两台虚拟机(192.168.0.109 192.

 redis集群+SSM整合使用

首先是创建Redis-cluster文件夹:

04.redis集群+SSM整合使用

因为redis最少需要6个节点(三主三从),为了更好的理解,我这里创建了两台虚拟机(192.168.0.109 192.168.0.110),分别在两台虚拟机的/opt/redis-4.0.1/redis-cluster下创建三个节点文件夹

192.168.0.109:

 04.redis集群+SSM整合使用

192.168.0.110:

04.redis集群+SSM整合使用

以上6个节点全部创建完成,分别再在这六个文件夹下创建redis.conf配置文件,其中配置如图:

port 7000
bind 192.168.0.109
daemonize yes
pidfile /var/run/redis_7000.pid
cluster-enabled yes
cluster-config-file nodes_7000.conf
cluster-node-timeout 10000
appendonly yes

其中需要将port pidfile cluster-config-file修改成节点端口号一致,bind改成本机ip,以便远程访问,全部修改完后,即可启动redis服务:

启动命令:

192.168.0.109下的命令:“for((i=0;i<=2;i++)); do /opt/redis-4.0.1/src/redis-server /opt/redis-4.0.1/redis-cluster/700$i/redis.conf; done

192.168.0.110下的命令:“for((i=3;i<=5;i++)); do /opt/redis-4.0.1/src/redis-server /opt/redis-4.0.1/redis-cluster/700$i/redis.conf; done

04.redis集群+SSM整合使用

可以看到后台模式启动成功的日志打印,两台机器都需要依次启动所有节点。节点启动完成后,即可创建集群服务:

在其中一台虚拟机上执行如下命令“/opt/redis-4.0.1/src/redis-trib.rb create --replicas 1 192.168.0.109:7000 192.168.0.109:7001 192.168.0.109:7002 192.168.0.110:7003 192.168.0.110:7004 192.168.0.110:7005” 

04.redis集群+SSM整合使用

 千万记住只需要在一台上执行即可,如果卡在join处不能往下执行,一般情况是出在防火墙端口被禁导致,有两种方式可以解决:

1、不但需要开启7000对外端口,还需要开启17000(因为redis总线端口需要加10000)。

2、直接关闭所有防火墙(因我这里是自己的环境,所以直接关闭了防火墙服务)。

出现上图运行日志,基本就成功搭建好了集群服务,可以清晰的看到各个节点的主从关系,环境搭建好后,这里我们就和我上篇写到的SSM架构进行联合使用。

上次整合的mybaits二级缓存是个单机版本,由于这种方式不支持集群,所以这里从新使用jedis-cluster进行另外一种redis集群与java整合使用的方式。

首先在redis.properties文件中新增集群机器的配置,将6个节点依次加入配置:

#cluster  
cluster1.host.port=192.168.0.109:7000
cluster2.host.port=192.168.0.109:7001
cluster3.host.port=192.168.0.109:7002
cluster4.host.port=192.168.0.110:7003
cluster5.host.port=192.168.0.110:7004
cluster6.host.port=192.168.0.110:7005

redis配置文件中也与之前改动比较多,我直接列出来,可以直接拷去用了。

spring-redis.xml

 1 <beans xmlns="Http://www.springframework.org/schema/beans" 2   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 3   xmlns:p="http://www.springframework.org/schema/p" 4   xmlns:mvc="http://www.springframework.org/schema/mvc" 5   xmlns:util="http://www.springframework.org/schema/util" 6   xmlns:aop="http://www.springframework.org/schema/aop" 7   xmlns:context="http://www.springframework.org/schema/context" 8   xmlns:task="http://www.springframework.org/schema/task"  9   xsi:schemaLocation="http://www.springframework.org/schema/beans10       http://www.springframework.org/schema/beans/spring-beans-4.3.xsd11       http://www.springframework.org/schema/util12       http://www.springframework.org/schema/util/spring-util-4.3.xsd13       http://www.springframework.org/schema/mvc14       http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd15       http://www.springframework.org/schema/aop16       http://www.springframework.org/schema/aop/spring-aop-4.3.xsd17       http://www.springframework.org/schema/context18       http://www.springframework.org/schema/context/spring-context-4.3.xsd">19       20       21     <!-- 连接池基本参数配置,类似数据库连接池 -->22      <context:property-placeholder location="classpath*:redis.properties" />23      24     <bean name="genericObjectPoolConfig" class="org.apache.commons.pool2.impl.GenericObjectPoolConfig" >25         <property name="maxWaitMillis" value="-1" />26         <property name="maxTotal" value="1000" />27         <property name="minIdle" value="8" />28         <property name="maxIdle" value="100" />29     </bean>30     31     <!-- 连接池配置,类似数据库连接池 -->32     <!-- <bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" >33         <property name="hostName" value="${redis.host}"></property>34         <property name="port" value="${redis.port}"></property>35         <property name="passWord" value="${redis.pass}"></property>36         <property name="poolConfig"  ref="poolConfig"></property> 
37     </bean> -->38     39     <!-- 调用连接池工厂配置 -->40     <!-- <bean id="redisTemplate" class=" org.springframework.data.redis.core.RedisTemplate">41         <property name="jedisConnectionFactory" ref="jedisConnectionFactory"></property>42         43         如果不配置Serializer,那么存储的时候智能使用String,如果用User类型存储,那么会提示错误User can't cast  to String!!!  
44          <property name="keySerializer">  
45             <bean  
46             class="org.springframework.data.redis.serializer.StringRedisSerializer" />  
47         </property>  
48         <property name="valueSerializer">  
49             <bean  
50                 class="org.springframework.data.redis.serializer.jdkSerializationRedisSerializer" />  
51         </property> 
52     </bean> -->53      <bean id="jedisCluster" class="com.cjl.util.JedisClusterFactory">54         <property name="addressConfig">55             <value>classpath:redis.properties</value>56         </property>57         <property name="addressKeyPrefix" value="cluster" />58 59         <property name="timeout" value="300000" />60         <property name="maxRedirections" value="6" />61         <property name="genericObjectPoolConfig" ref="genericObjectPoolConfig" />62     </bean>63 </beans>

将上篇SSM+redis整合中mybatis的开启缓存配置全部禁用,即可启动服务测试

首先直接注入jedisCluster获取一个集群对象。

04.redis集群+SSM整合使用

这里为了方便,我数据同步直接用了java写了个简单思想,其他方法也可实现,例如Spring AOP方式实现,使用第三方插件,或者数据库层面实现都可行。

04.redis集群+SSM整合使用

启动成功后,反复调用方法。可以看到控制台并未打印sql语句,而是直接在redis集群中直接获取得到数据。以上简单的redis集群实例已经完成,因为时间关系,其中linux中有些坑我没有细细写出,如有疑问可以留言。

如有不对的地方或者更好的建议,欢迎评论中指出。我会尽快学习修改。


您可能感兴趣的文档:

--结束END--

本文标题: 04.redis集群+SSM整合使用

本文链接: https://www.lsjlt.com/news/38131.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 04.redis集群+SSM整合使用
     redis集群+SSM整合使用首先是创建redis-cluster文件夹:因为redis最少需要6个节点(三主三从),为了更好的理解,我这里创建了两台虚拟机(192.168.0.109 192....
    99+
    2022-10-18
  • Redis集群与SSM整合使用方法
    首先是创建redis-cluster文件夹:因为redis最少需要6个节点(三主三从),为了更好的理解,我这里创建了两台虚拟机(192.168.0.109 192.168.0.110),分别在两台虚拟机的/opt/redis-4.0.1/r...
    99+
    2023-05-30
    redis ssm 整合
  • spring怎么整合redis集群
    要整合Spring与Redis集群,可以按照以下步骤进行操作: 添加Redis集群依赖:在Spring Boot项目的pom.xm...
    99+
    2023-10-25
    redis spring
  • Redis整合MySQL主从集群的示例代码
    目录1、用Docker搭建MySQL主从集群1.1 拉取mysql镜像1.2 创建配置文件夹1.3 编写主服务器的配置文件信息1.4 启动mysql主服务器的容器1.5 观察主服务器...
    99+
    2022-11-12
  • ssm整合shiro使用详解
    目录整合shiro:1.在pom.xml中引入依赖2.新建并配置缓存ehcache.xml3.在spring配置文件applicationContext.xml配置shiro4.自定...
    99+
    2022-11-12
  • Redis 整数集合的具体使用(intset)
    目录一、集合概述二、Redis 整数集合(intset)1、intset 结构定义2、编码方式3、编码升级三、整数集合常用操作1、创建集合2、元素设置3、元素获取 4、元素...
    99+
    2022-11-13
  • docker搭建redis哨兵集群并且整合springboot的实现
    目录1、创建两个文件夹Redis和sentinel文件夹用于存放docker-compose.yml文件2、redis下的docker-compose.yml3、sentinel下的docker-compose.yml文...
    99+
    2022-07-11
    docker搭建redis哨兵集群 springbootredis哨兵
  • Redis整数集合的使用方法有哪些
    这篇文章主要讲解了“Redis整数集合的使用方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Redis整数集合的使用方法有哪些”吧!一、集合概述     ...
    99+
    2023-06-29
  • SpringBoot2如何整合Redis哨兵集群 实现消息队列场景
    这篇文章主要介绍了SpringBoot2如何整合Redis哨兵集群 实现消息队列场景,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、Redis集群简介1、RedisClus...
    99+
    2023-06-02
  • 使用SpringBoot中整合Redis
    目录SpringBoot中整合RedisSpringBoot整合Redis改不了database问题SpringBoot中整合Redis 本次,我们以IDEA + SpringBoo...
    99+
    2022-11-13
  • Redis笔记整理(二):Java API使用与Redis分布式集群环境搭建
    [TOC] Redis Java API使用(一):单机版本Redis API使用 Redis的Java API通过Jedis来进行操作,因此首先需要Jedis的第三方库,因为使用的是Maven工程,所以...
    99+
    2022-10-18
  • 使用redis集群锁的方法
    使用redis集群锁的方法?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!如果是单机环境,对于并发问题,直接用java提供的...
    99+
    2022-10-18
  • 怎么使用tomcat做redis集群
    要使用Tomcat做Redis集群,您需要执行以下步骤:1. 下载和安装Tomcat服务器:您可以从Tomcat官方网站下载并安装适...
    99+
    2023-09-04
    redis tomcat
  • 客户端使用redis-cli连接redis集群
    客户端使用redis-cli连接redis集群?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。具体内容如下:redis-cli -c -h 12...
    99+
    2022-10-18
  • spring如何整合redis使用
    小编给大家分享一下spring如何整合redis使用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.简单介绍redis 是基于...
    99+
    2022-10-19
  • Yii redis 集合的使用
      redis 的集合是无序的,集合成员是唯一的,不能重复。用户可以快速地对集合执行添加元素操作、移除元素操作以及检查一个元素是否存在于集合中。这里介绍一些常用的集合处理命令,并在 Yii 中的使用。 SADD SADD:SAD...
    99+
    2015-02-19
    Yii redis 集合的使用
  • redis集合如何使用
    Redis集合是一个无序的、唯一的、字符串集合,它提供了添加、删除、查询、判断元素是否存在等操作。下面是一些常用的Redis集合操作...
    99+
    2023-08-30
    redis
  • Redis中的Redis集群和PHP的使用方法
    Redis是一款强大的内存键值对存储数据库。与常规的RDBMS(关系型数据库管理系统)相比,它具有更高的性能和更好的伸缩性。Redis的优点之一是它可以作为分布式系统的核心技术。在这篇文章中,我们将探讨Redis集群的概念以及如何在PHP中...
    99+
    2023-05-15
    PHP 使用方法 Redis集群
  • 使用redis-cli搭建redis5.x集群
    这篇文章给大家介绍使用redis-cli搭建redis5.x集群,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1,创建下载目录,下载安装mkdir -p /usr/local/src/...
    99+
    2022-10-18
  • SpringBoot整合Redis使用@Cacheable和RedisTemplate
    对之前网站做了一些很简单的优化,给用户列表加了一个分页功能。 分页就更好考虑加载速度,如果换一页就要等几秒,那体验感是非常差的。 因此想到了加一个redis缓存。 springboo...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作