`

redis 哨兵连接池(JedisSentinelPool)——相关参数配置到spring中

 
阅读更多

applicationContext-redis.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd ">
    
	<!-- jedis pool配置 -->
	<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
		<property name="maxTotal" value="10000" />
		<property name="maxIdle" value="100" />
		<property name="maxWaitMillis" value="1000" />
		<!-- 向调用者输出“链接”资源时,是否检测是有有效,如果无效则从连接池中移除,并尝试获取继续获取。设为true,一个挂都不能用 -->
		<property name="testOnBorrow" value="true" />
		<!-- 向连接池“归还”链接时,是否检测“链接”对象的有效性。 -->
		<property name="testOnReturn" value="true" />
	</bean>
	
	<bean id="jedisPool" class="redis.clients.jedis.JedisSentinelPool">
		<constructor-arg index="0" value="mymaster" />
		<constructor-arg index="1">
			<set>
				<value>172.19.59.50:26379</value><!--配置了一个哨兵 -->
			</set>
		</constructor-arg>
		<constructor-arg index="2" ref="jedisPoolConfig" />
		<constructor-arg index="3" value="30000" />
		<constructor-arg index="4">
			<null />
		</constructor-arg>
		<constructor-arg index="5" value="0" />
	</bean>
</beans>

 

测试代码:

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisSentinelPool;
import redis.clients.jedis.exceptions.JedisException;

public class TestRedisPool {

	public static void main(String[] args) {
		ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext-redis.xml");
		JedisSentinelPool pool = (JedisSentinelPool) ac.getBean("jedisPool");
		Jedis jedis = null;
		try {
			jedis = pool.getResource();
			jedis.set("foo", "test");
			String redisStr = jedis.get("foo");
			System.out.println(redisStr);
		} catch (JedisException je) {
			throw je;
		} finally {
			if (jedis != null)
				pool.returnResource(jedis);
		}
	}
}

 

输出结果:

八月 22, 2017 11:19:55 上午 redis.clients.jedis.JedisSentinelPool initSentinels
信息: Trying to find master from available Sentinels...
八月 22, 2017 11:19:55 上午 redis.clients.jedis.JedisSentinelPool initSentinels
信息: Redis master running at 172.19.59.50:6381, starting Sentinel listeners...
八月 22, 2017 11:19:55 上午 redis.clients.jedis.JedisSentinelPool initPool
信息: Created JedisPool to master at 172.19.59.50:6381
11:19:55.782 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Eagerly caching bean 'jedisPool' to allow for resolving potential circular references
11:19:55.782 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Finished creating instance of bean 'jedisPool'
11:19:55.783 [main] DEBUG org.springframework.context.support.ClassPathXmlApplicationContext - Unable to locate LifecycleProcessor with name 'lifecycleProcessor': using default [org.springframework.context.support.DefaultLifecycleProcessor@6054cd1b]
11:19:55.783 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'lifecycleProcessor'
11:19:55.784 [main] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean 'jedisPool'
test

 

分享到:
评论

相关推荐

    spring整合redis(spring模板+连接池+哨兵+json序列化+集群).rar

    本教程将深入探讨如何在Spring环境中整合Redis,包括使用Spring Redis模板、连接池、哨兵系统以及JSON序列化,并进一步讨论在集群环境中的应用。 首先,Spring Redis模板是Spring Data Redis项目的一部分,它为操作...

    Spring整合Redis哨兵

    然后,Spring Boot会自动创建一个连接池配置并初始化`JedisConnectionFactory`,这样我们就可以在应用程序中使用`RedisTemplate`进行操作。 3. **RedisTemplate的使用** `RedisTemplate`是Spring Data Redis提供...

    SpringBoot集成Redis哨兵Demo

    在实际项目中,你可能还需要考虑其他因素,比如Redis连接池的配置、超时时间、重试策略等。此外,对于高并发场景,可以考虑使用Redisson或Jedis Sentinel Pool等客户端,它们提供了更丰富的功能和优化选项。 总结来...

    SpringBoot整合Redis实例

    在现代Web应用开发中,Spring Boot以其便捷的配置和快速的开发能力深受开发者喜爱,而Redis作为高性能的键值数据库,常被用作缓存、消息队列等用途。本教程将详细介绍如何在Spring Boot项目中整合Redis,涵盖单机版...

    SpringBoot2.X整合redis连接lettuce增强版本,支持多数据库切换,主从集群,哨兵

    基于`SpringBoot2.X + Lettuce`实现Redis集成和多库实时切换...项目中通过`application.properties`或`application.yml`文件配置Redis连接信息,如主机地址、端口号、密码等。可以配置多个Redis实例,用于实现多库切换。

    Redis+Spring.zip

    Redis是一款高性能的键值对数据存储系统,常用于缓存、消息队列、计数器等多种场景。Spring框架是Java领域广泛使用的应用框架...在实际项目中,根据需求还可以进行更复杂的配置,如设置哨兵或集群模式、配置连接池等。

    搭建springboot与redis集群关联操作.doc

    * `spring.redis.jedis.pool.max-active=2000`: 设置 Redis 连接池的最大活动连接数为 2000。 * `spring.redis.jedis.pool.max-idle=100`: 设置 Redis 连接池的最大空闲连接数为 100。 * `spring.redis.jedis.pool....

    tomcat-redis依赖jar包

    - 连接池管理:合理配置连接池大小,避免资源浪费和连接溢出。 - 数据结构选择:根据业务场景选择合适的Redis数据结构,如字符串、哈希、列表、集合和有序集合,以提高操作效率。 - 避免阻塞操作:尽量使用非阻塞...

    Redis使用lettuce和jedis.pdf

    在实际应用中,开发者可以结合Spring Boot的自动配置功能,通过简单的配置就能完成对Redis连接器的配置,实现对Redis数据库的高效访问。例如,使用Jedis或Lettuce连接器,可以创建专门的配置类来定义Bean,并且通过@...

    spring+springmvc+mybatis+redisSentinel

    - 设置Redis连接池,配置Sentinel的主机和端口,建立Sentinel客户端。 - 在需要缓存的方法上添加Redis注解,指定缓存的key和过期策略。 - 测试和调试,确保所有组件正常工作且能够正确处理异常情况。 以上知识点...

    Redis 入门、哨兵机制及集群高可用

    课程目标基于Linux安装Redis,让同学们学习到Redis的基础知识,持久化、哨兵及集群HA 适用人群NoSQL后端开发人员 课程简介基于Linux安装Redis5.x,课程内容讲解Redis的基础操作,AOF/RDB及哨兵机制原理与高可用实现...

    java-redis jar

    8. **SentinelConfigurations**:如果Redis集群中使用了哨兵(Sentinel)进行高可用性保障,还需要配置哨兵的相关参数。 9. **ClusterConfigurations**:对于Redis集群,还需要配置集群的相关信息,如节点地址等。 ...

    Redis从入门到精通2024版 视频教程 下载 百度网盘链接4.zip

    Redis从入门到精通2024版 视频教程 下载 ├─第 01 章 开篇 │ 001.Redis 录制计划.mp4 │ 002.Redis 介绍.mp4 │ 003.Redis 安装.mp4 │ ├─第 02 章 基本数据类型 │ 01.在后台启动 Redis.mp4 │ 02....

    springboot+redis集群实例,linux 安装redis集群

    7. **测试集群**:编写Spring Boot应用,配置Redis连接池(如Jedis或Lettuce),并通过API进行读写操作,验证集群工作正常。 在Spring Boot应用中配置Redis集群,通常需要以下步骤: 1. 添加相关依赖:在`pom.xml`...

    redis集群部署

    - 配置连接池:设置连接池参数,如最大空闲连接数、最大活跃连接数等。 - 配置RedisTemplate:定义键值的序列化方式等。 - 使用Redis:在业务逻辑层使用`RedisTemplate`进行CRUD操作。 ### 知识点四:Session...

    Redis从入门到精通2024版 视频教程 下载 百度网盘链接3.zip

    Redis从入门到精通2024版 视频教程 下载 ├─第 01 章 开篇 │ 001.Redis 录制计划.mp4 │ 002.Redis 介绍.mp4 │ 003.Redis 安装.mp4 │ ├─第 02 章 基本数据类型 │ 01.在后台启动 Redis.mp4 │ 02....

    Redis从入门到精通2024版 视频教程 下载 百度网盘链接1.zip

    Redis从入门到精通2024版 视频教程 下载 ├─第 01 章 开篇 │ 001.Redis 录制计划.mp4 │ 002.Redis 介绍.mp4 │ 003.Redis 安装.mp4 │ ├─第 02 章 基本数据类型 │ 01.在后台启动 Redis.mp4 │ 02....

    redis-service:java spring redies:订阅发布系统;统一配置管理; lua脚本实现分布式锁;缓存应用(连接池,切片连接池,哨兵模式)

    缓存应用(连接池,切片连接池,哨兵模式) 备注:哨兵,分片,最大化 哨兵模式集群(一主多从):每个节点拥有所有数据,内存限制 | 改进(解决内存问题) | 分片多主多从:客户端分配key存储。数据分布在多个节点...

    Tomcat7+redis实现session共享

    3. **配置redis session store**:引入`spring-session-data-redis`或`tomcat-redis-session-manager`等相关依赖库,这两个库提供了将session数据保存到`redis`的接口。在`web.xml`中,配置`SessionConfig`,指定...

    Boot整合redis.zip

    "Boot整合redis.zip"这个压缩包文件很可能包含了将Spring Boot应用与Redis集成的相关教程、配置文件或代码示例。下面我们将详细探讨如何在Spring Boot项目中整合Redis。 1. **添加依赖** 在Spring Boot项目中整合...

Global site tag (gtag.js) - Google Analytics