一、单机redis配置

1. 配置redis连接池

<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<!-- 控制一个pool可分配多少个jedis实例 -->
<property name="maxTotal" value="${redis.maxTotal}"/>
<!-- 控制一个pool最多有多少个状态为idle(空闲)的jedis实例 -->
<property name="maxIdle" value="${redis.maxIdle}"/>
<!-- 表示当borrow一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException -->
<property name="maxWaitMillis" value="${redis.maxWaitMillis}"/>
<property name="testOnBorrow" value="true"/>
<property name="testOnReturn" value="true"/>
</bean> <!-- redis的连接池pool,不是必选项:timeout/password -->
<bean id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.host}"/>
<property name="port" value="${redis.port}"/>
<property name="password" value="${redis.passWord}"/>
<property name="poolConfig" ref="jedisPoolConfig"/>
</bean>

2. 配置redis工具类

<bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory"/>
</bean> <!-- 配置Redis自定义工具类 -->
<bean id="springRedis" class="com.wslook.common.redis.SpringRedis">
<property name="redisKeyPrefix" value="${redis.key.prefix}"/>
<property name="stringRedisTemplate" ref="stringRedisTemplate"/>
</bean>

3. properties文件

二、哨兵模式配置

1. 配置redis连接池

<!--配置JedisPoolConfig-->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<!-- 控制一个pool可分配多少个jedis实例 -->
<property name="maxTotal" value="${redis.sentinel.maxTotal}"/>
<!-- 控制一个pool最多有多少个状态为idle(空闲)的jedis实例 -->
<property name="maxIdle" value="${redis.sentinel.maxIdle}"/>
<!-- 表示当borrow一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException -->
<property name="maxWaitMillis" value="${redis.sentinel.maxWaitMillis}"/>
<property name="testOnBorrow" value="true"/>
<property name="testOnReturn" value="true"/>
</bean> <!-- 构造JedisConnectionFactory实例 -->
<bean id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<constructor-arg name="sentinelConfig" ref="redisSentinelConfiguration"/>
<constructor-arg name="poolConfig" ref="jedisPoolConfig"/>
<property name="password" value="${redis.sentinel.password}"/>
</bean>

2. 配置Redis Sentinel

  • 只需配置集群名称和哨兵地址即可
<bean id="redisSentinelConfiguration" class="org.springframework.data.redis.connection.RedisSentinelConfiguration">
<property name="master">
<bean class="org.springframework.data.redis.connection.RedisNode">
<property name="name" value="mymaster"/>
</bean>
</property>
<property name="sentinels">
<set>
<bean name="redisNode1" class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.sentinel.node1.host}"/>
<constructor-arg name="port" value="${redis.sentinel.node1.port}"/>
</bean>
<bean name="redisNode2" class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.sentinel.node2.host}"/>
<constructor-arg name="port" value="${redis.sentinel.node2.port}"/>
</bean>
</set>
</property>
</bean>

3. 配置redis工具类

<bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory"/>
</bean> <!-- 配置springRedis -->
<bean id="springRedis" class="com.wslook.common.redis.SpringRedis">
<property name="redisKeyPrefix" value="${redis.sentinel.key.prefix}"/>
<property name="stringRedisTemplate" ref="stringRedisTemplate"/>
</bean>

4. properties文件

三、Cluster集群配置

1. 配置redis连接池

<!--配置JedisPoolConfig-->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<!-- 控制一个pool可分配多少个jedis实例 -->
<property name="maxTotal" value="${redis.cluster.maxTotal}"/>
<!-- 控制一个pool最多有多少个状态为idle(空闲)的jedis实例 -->
<property name="maxIdle" value="${redis.cluster.maxIdle}"/>
<!-- 表示当borrow一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException -->
<property name="maxWaitMillis" value="${redis.cluster.maxWaitMillis}"/>
<property name="testOnBorrow" value="true"/>
<property name="testOnReturn" value="true"/>
</bean> <!-- 构造JedisConnectionFactory实例 -->
<bean id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<constructor-arg name="clusterConfig" ref="redisClusterConfiguration"/>
<constructor-arg name="poolConfig" ref="jedisPoolConfig"/>
<property name="password" value="${redis.cluster.password}"/>
</bean>

2. 配置Cluster节点

<bean id="redisClusterConfiguration" class="org.springframework.data.redis.connection.RedisClusterConfiguration">
<property name="clusterNodes">
<set>
<bean name="redisNode0" class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.cluster.node.host}"/>
<constructor-arg name="port" value="${redis.cluster.node.port}"/>
</bean>
<bean name="redisNode1" class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.cluster.node1.host}"/>
<constructor-arg name="port" value="${redis.cluster.node1.port}"/>
</bean>
<bean name="redisNode2" class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.cluster.node2.host}"/>
<constructor-arg name="port" value="${redis.cluster.node2.port}"/>
</bean>
<bean name="redisNode3" class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.cluster.node3.host}"/>
<constructor-arg name="port" value="${redis.cluster.node3.port}"/>
</bean>
<bean name="redisNode4" class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.cluster.node4.host}"/>
<constructor-arg name="port" value="${redis.cluster.node4.port}"/>
</bean>
<bean name="redisNode5" class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host" value="${redis.cluster.node5.host}"/>
<constructor-arg name="port" value="${redis.cluster.node5.port}"/>
</bean>
</set>
</property>
</bean>

3. 配置redis工具类

<bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="jedisConnectionFactory"/>
</bean> <!-- 配置springRedis -->
<bean id="springRedis" class="com.wslook.common.redis.SpringRedis">
<property name="redisKeyPrefix" value="${redis.cluster.key.prefix}"/>
<property name="stringRedisTemplate" ref="stringRedisTemplate"/>
</bean>

4. properties文件

spring集成Redis(单机、集群)的更多相关文章

  1. Spring + Jedis集成Redis(集群redis数据库)

    前段时间说过单例redis数据库的方法,但是生成环境一般不会使用,基本上都是集群redis数据库,所以这里说说集群redis的代码. 1.pom.xml引入jar <!--Redis--> ...

  2. 面向接口编程实现不改代码实现Redis单机/集群之间的切换

    开发中一般使用Redis单机,线上使用Redis集群,因此需要实现单机和集群之间的灵活切换 pom配置: <!-- Redis客户端 --> <dependency> < ...

  3. springboot redis(单机/集群)

    前言 前面redis弄了那么多, 就是为了在项目中使用. 那这里, 就分别来看一下, 单机版和集群版在springboot中的使用吧.  在里面, 我会同时贴出Jedis版, 作为比较. 单机版 1. ...

  4. springboot2.x版本整合redis(单机/集群)(使用lettuce)

    在springboot1.x系列中,其中使用的是jedis,但是到了springboot2.x其中使用的是Lettuce. 此处springboot2.x,所以使用的是Lettuce.关于jedis跟 ...

  5. 二)spring 集成 ehcache jgroups 集群

    依赖 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-co ...

  6. Redis 一二事 - 在spring中使用jedis 连接调试单机redis以及集群redis

    Redis真是好,其中的键值用起来真心强大啊有木有, 之前的文章讲过搭建了redis集群 那么咋们该如何调用单机版的redis以及集群版的redis来使用缓存服务呢? 先讲讲单机版的,单机版redis ...

  7. Spring集成Redis集群(含spring集成redis代码)

    代码地址如下:http://www.demodashi.com/demo/11458.html 一.准备工作 安装 Redis 集群 安装参考: http://blog.csdn.net/zk6738 ...

  8. Redis Cluster集群搭建后,客户端的连接研究(Spring/Jedis)(待实践)

    说明:无论是否已经搭建好集群,还是使用什么样的客户端去连接,都是必须把全部IP列表集成进去,然后随机往其中一个IP写. 这样做的好处: 1.随机IP写入之后,Redis Cluster代理层会自动根据 ...

  9. Redis Cluster搭建高可用Redis服务器集群

    一.Redis Cluster集群简介 Redis Cluster是Redis官方提供的分布式解决方案,在3.0版本后推出的,有效地解决了Redis分布式的需求,当一个节点挂了可以快速的切换到另一个节 ...

  10. 【精】搭建redis cluster集群,JedisCluster带密码访问【解决当中各种坑】!

    转: [精]搭建redis cluster集群,JedisCluster带密码访问[解决当中各种坑]! 2017年05月09日 00:13:18 冉椿林博客 阅读数:18208  版权声明:本文为博主 ...

随机推荐

  1. 当导用模块与包的import与from的问题(模块与包的调用)

    当在views.py里写impor models会不会报错呢? 1.Python里面的py文件都是每一行的代码. 2.Python解释器去找一个模块的时候,只去sys.path的路径里找 3.djan ...

  2. (一)js概述

    1.    js:弱类型,动态类型,解释型的脚本语言. 2.    网景,布兰登艾奇,js和java没有关系,js的标准:ECMAscript. 3.    js组成:ECMAscript + Bom ...

  3. (六)java数据类型

      数据类型:决定了变量占据多大的空间,决定了变量存储什么类型的数据 整形: byte     1个字节 short    2个字节 int        4个字节 long     8个字节 浮点型 ...

  4. 【转】C# Socket编程(5)使用TCP Socket

    [转自:https://www.cnblogs.com/IPrograming/archive/2012/10/18/CSharp_Socket_5.html] TCP 协议(Transmission ...

  5. 数据库中字段的数据类型与JAVA中数据类型的对应关系

    类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lang.String 12   CHAR N ...

  6. FastAdmin 在 CRUD 时出现 exec() has been disabled for security reasons 怎么办?

    FastAdmin 在 CRUD 时出现 exec() has been disabled for security reasons 怎么办? 有小伙伴提问 FastAdmin 在 CRUD 时出现 ...

  7. bzoj 3796 Mushroom追妹纸——后缀数组

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3796 长度一般都是 1e5 ,看这个是 5e4 ,一看就是把两个串接起来做. 自己本来想的是 ...

  8. (装)Android杂谈--禁止TimePicker控件通过keyboard输入

    Android 4.1版本以上用的是类似与ios的滚动时间控件,但是4.1以下,用的TimePicker确实通过点击上下按钮来更改时间的,虽然也提供了编辑框编辑,但是可能会超出编辑范围 如果要禁止编辑 ...

  9. DataGrid方法标注

    在VS2010中无法增加了CColumn和Ccolumns类 解决方案,方案名->右击->添加类->ActiveX控件中的MFC类->添加弹出了“从ActiveX控件添加类向导 ...

  10. Manager Test and DAO

    1. 阅读ManagerTest代码 (1)代码 import java.util.* package test; /** * This program demonstrates inheritanc ...