1.redis配置文件 : redis.properties

# Redis settings
#sentinel_node_1
redis.sentinel1.host=192.168.0.1
redis.sentinel1.port=8001
#sentinel_node_2
redis.sentinel2.host=192.168.0.1
redis.sentinel2.port=8002
#sentinel_node_3
redis.sentinel3.host=192.168.0.1
redis.sentinel3.port=8003
#sentinel_auth
redis.sentinel.masterName=TestMaster
redis.sentinel.password=testmaster123 redis.maxIdle=500
redis.maxTotal=5000
redis.maxWaitTime=1000
redis.minIdle=300
redis.testOnBorrow=true

2.redis数据源的配置文件:redis-datasource.xml

  这里给大家介绍两种配置模式  spring-redis配置模式  非spring-redis配置模式

  2.1spring-redis配置模式:

  maven依赖:

    <dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.0</version>
</dependency>
<!-- spring-redis -->
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-redis</artifactId>
<version>1.6.4.RELEASE</version>
</dependency>
<!-- redis服务配置 开始-->
<bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="${redis.maxTotal}" />
<property name="minIdle" value="${redis.minIdle}" />
<property name="maxWaitMillis" value="${redis.maxWaitTime}" />
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="testOnBorrow" value="${redis.testOnBorrow}" />
<property name="testOnReturn" value="true" />
<property name="testWhileIdle" value="true" />
</bean> <bean id="sentinelConfiguration"
class="org.springframework.data.redis.connection.RedisSentinelConfiguration">
<property name="master">
<bean class="org.springframework.data.redis.connection.RedisNode">
<property name="name" value="${redis.sentinel.masterName}"></property>
</bean>
</property>
<property name="sentinels">
<set>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host"
value="${redis.sentinel1.host}"></constructor-arg>
<constructor-arg name="port"
value="${redis.sentinel1.port}"></constructor-arg>
</bean>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host"
value="${redis.sentinel2.host}"></constructor-arg>
<constructor-arg name="port"
value="${redis.sentinel2.port}"></constructor-arg>
</bean>
<bean class="org.springframework.data.redis.connection.RedisNode">
<constructor-arg name="host"
value="${redis.sentinel3.host}"></constructor-arg>
<constructor-arg name="port"
value="${redis.sentinel3.port}"></constructor-arg>
</bean>
</set>
</property>
</bean> <bean id="connectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:password="${redis.sentinel.password}">
<constructor-arg name="sentinelConfig" ref="sentinelConfiguration"></constructor-arg>
<constructor-arg name="poolConfig" ref="poolConfig"></constructor-arg>
</bean> <bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="connectionFactory" />
</bean> <bean id="redisService" class="com.usi.hlqb.service.redis.RedisService">
<property name="redisTemplate" ref="redisTemplate"></property>
</bean>
<!-- redis服务配置 结束 -->

  2.2 非spring-redis的配置模式:

  maven依赖:

 <dependency>
  <groupId>com.imwinston</groupId>
<artifactId>JedisBase</artifactId>
<version>2.1.17-sentinel-4</version>
</dependency>
<dependency>
  <groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.8.0</version>
</dependency>
<dependency>
  <groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>18.0</version>
</dependency>
<dependency>
  <groupId>com.esotericsoftware</groupId>
<artifactId>kryo</artifactId>
<version>3.0.1</version>
</dependency>
    <!-- jedis 连接池配置-->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="maxTotal" value="${redis.maxTotal}" />
<property name="testOnBorrow" value="${redis.testOnBorrow}" />
</bean>
   <!--哨兵配置-->
<bean id="jedisPool" class="redis.clients.jedis.JedisSentinelPool">
<constructor-arg index="0" value="myMaster" />
<constructor-arg index="1">
<set>
<value>192.168.0.1:8001</value>
<value>192.168.0.1:8002</value>
<value>192.168.0.1:8003</value>
</set>
</constructor-arg>
<constructor-arg index="2" ref="jedisPoolConfig" />
<constructor-arg index="3" value="${redis.sentinel.password}" />
</bean>
<bean id="jedisBase" class="com.imwinston.redis.jedisbase.JedisBase">
<property name="pool" ref="jedisPool" />
</bean>
<!-- 本地sqlite数据源定义 -->
<bean id="sqlDs" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="org.sqlite.JDBC"/>
<property name="url" value="jdbc:sqlite:"/>
<property name="username" value=""/>
<property name="password" value=""/>
</bean>

Redis-Sentinel 数据源配置的更多相关文章

  1. 【转载】Redis Sentinel服务配置

    转载地址:http://blog.csdn.net/vtopqx/article/details/49247285 redis官网文档:http://www.redis.cn/topics/senti ...

  2. Spring Boot 2.x Redis多数据源配置(jedis,lettuce)

    Spring Boot 2.x Redis多数据源配置(jedis,lettuce) 96 不敢预言的预言家 0.1 2018.11.13 14:22* 字数 65 阅读 727评论 0喜欢 2 多数 ...

  3. Redis Sentinel哨兵配置

    概述 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都 ...

  4. 亲密接触Redis-第二天(Redis Sentinel)

    简介 经过上次轻松搭建了一个Redis的环境并用Java代码调通后,这次我们要来看看Redis的一些坑以及Redis2.8以后带来的一个新的特性即支持高可用特性功能的Sentinel(哨兵). Red ...

  5. 高可用Redis(九):Redis Sentinel

    1.主从复制高可用的问题 主从复制高可用的作用 1.为master提供备份,当master宕机时,slave有完整的备份数据 2.对master实现分流,实现读写分离 但是主从架构有一个问题 1.如果 ...

  6. Redis Sentinel 模拟故障迁移

    什么是redis sentinel 参考文档:https://redis.io/topics/sentinel 简单的来说,就是Redis Sentinel 为redis 提供高可用性,主要体现在下面 ...

  7. 亲热接触Redis-第二天(Redis Sentinel)

    简单介绍 经过上次轻松搭建了一个Redis的环境并用Java代码调通后.这次我们要来看看Redis的一些坑以及Redis2.8以后带来的一个新的特性即支持高可用特性功能的Sentinel(哨兵). R ...

  8. Redis Sentinel集群配置中的一些细节

    今天在配置Redis集群,用作Tomcat集群的缓存共享.关于Redis集群的配置网上有很多文章,这里只是记录一下我在配置过程中遇到的一些小的细节问题. 1. 关于Protected Mode的问题 ...

  9. redis sentinel 集群配置-主从切换

    1.配置redis master,redis slave(配置具体操作见上文http://www.cnblogs.com/wangchaozhi/p/5140469.html). redis mast ...

  10. redis sentinel 集群监控 配置

    环境: ip  172.16.1.31 26379  redis sentinel ip  172.16.1.30 6379   主 1 ip  172.16.1.31 6380   从 1 ip   ...

随机推荐

  1. C++实现 电子邮件客户端程序(简易版)

    #Windows操作系统下 用命令行工具实现发送邮件(编程前工作) 步骤: 1.telnet连接服务器(以用QQ邮箱向网易邮箱发送邮件为例,端口号25) 2.返回220 说明连接成功 3.ehlo发送 ...

  2. phython安装

    点击   https://www.python.org/downloads/ 下载合适的Python版本 下载获取到:python-x.x.x.msi安装包,我们双击python-x.x.x.msi即 ...

  3. Windows10 bypassUAC绕过用户账户控制

    使用这个github上的项目: https://github.com/L3cr0f/DccwBypassUAC 可以自行编译 全程UAC不介入,没反应. 测试: 权限提升真实有效

  4. 1.python+appium环境配置

    环境部署 本博客以32位的Windows 7操作系统为例介绍Appium+Python的环境搭建步骤 1.安装Node.js 访问 https://nodejs.org/en/download/,下载 ...

  5. list实现大整数加法

    #include<iostream> #include<list> #include<string> using namespace std; list<in ...

  6. 学习笔记TF050:TensorFlow源代码解析

    TensorFlow目录结构. ACKNOWLEDGMENTS #TensorFlow版本声明 ADOPTERS.md #使用TensorFlow的人员或组织列表 AUTHORS #TensorFlo ...

  7. 戴尔R710服务器安装系统——配置raid

    一,内存二,硬盘(分区,数据量大小)三,电源线,网络线四,raid(raid0,raid1,raid5) 从这里开始 1.进入系统时不用管,默认进入即可 2.在读完内存消息之后,开始读取磁盘消息,在出 ...

  8. C++ Primer Plus (Stephen Prata 著)

    第1章 预备知识 (已看) 第2章 开始学习C++ (已看) 第3章 处理数据 (已看) 第4章 复合类型 (已看) 第5章 循环和关系表达式 (已看) 第6章 分支语句和逻辑运算符 (已看) 第7章 ...

  9. golang垃圾回收和SetFinalizer

    golang自带内存回收机制--GC.GC通过独立的进程执行,它会搜索不再使用的变量,并释放.需要注意的是,进行GC会占用机器资源. GC是自动进行的.如果要手动进行GC,可以调用runtime.GC ...

  10. ubuntu python3和python2切换脚本

    最近在ubuntu上开发较多,有些工具只能在python2运行,而开发又是在python3上做的开发,所以写个脚本方便在python2和python3之间切换. 切换成python2的文件usepy2 ...