`

redis 哨兵连接池(JedisSentinelPool)——不通过spring

 
阅读更多
import java.util.HashSet;
import java.util.Set;

import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisSentinelPool;


/**
 * 直连JedisSentinelPool
 * 
 */
public class TestRedisSentinel {

	public static void main(String[] args) {
		// 定义sentinel set
		Set<String> sentinels = new HashSet<String>();
		HostAndPort hp1 = new HostAndPort("172.19.59.50", 26379);
		String sentinel1 = hp1.toString();
		sentinels.add(sentinel1);
		HostAndPort hp2 = new HostAndPort("172.19.59.50", 36379);
		String sentinel2 = hp2.toString();
		sentinels.add(sentinel2);
		HostAndPort hp3 = new HostAndPort("172.19.59.50", 46379);
		String sentinel3 = hp3.toString();
		sentinels.add(sentinel3);
		HostAndPort hp4 = new HostAndPort("172.19.59.50", 56379);
		String sentinel4 = hp4.toString();
		sentinels.add(sentinel4);
		
		// 创建JedisSentinelPool对象
		JedisSentinelPool sentinelPool = new JedisSentinelPool("mymaster", sentinels);
		System.out.println("current master: " + sentinelPool.getCurrentHostMaster().toString());
		
		// 使用sentinelPool获取jedis对象
		Jedis master = sentinelPool.getResource();
		// 操作redis
		master.set("username", "test");
		sentinelPool.returnResource(master);
		
		Jedis master2 = sentinelPool.getResource();// 注意:一定要每次重新从pool中取一个连接,否则会一直访问老master。
		String value = master2.get("username");
		System.out.println("username: " + value);
		
		// 销毁jedis对象和sentinelpool
		master2.close();
		sentinelPool.destroy();
	}
}

 

分享到:
评论

相关推荐

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

    总结来说,整合Spring和Redis涉及多个层面,包括使用Spring Redis模板进行基本操作,通过连接池优化性能,利用哨兵实现高可用,借助JSON序列化处理复杂数据,以及在集群环境下保证扩展性和稳定性。掌握这些知识点,...

    Spring整合Redis哨兵

    **Spring整合Redis哨兵** 在高可用性系统中,Redis Sentinel是至关重要的组件,它提供了主从监控、故障检测和自动故障转移的功能。Spring作为Java生态中的主流框架,提供了与Redis Sentinel集成的能力,使得我们...

    SpringBoot集成Redis哨兵Demo

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

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

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

    SpringBoot整合Redis实例

    Spring Boot提供了自动配置功能,通过添加`spring-boot-starter-data-redis`依赖,就可以自动配置Redis连接。在`application.properties`或`application.yml`中设置Redis服务器的地址、端口、密码等相关参数: ```...

    Redis+Spring.zip

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

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

    课程目标基于Linux安装Redis,让同学们学习到Redis的基础知识,持久化、哨兵及集群HA ... 同时通过Spring Boot2.x实现Redis的哨兵访问及集群访问等操作,并模拟演示其中某台服务器宕机实现故障迁移。

    搭建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....

    spring+springmvc+mybatis+redisSentinel

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

    tomcat-redis依赖jar包

    - 初始化连接:在Tomcat启动时,创建Redis连接池并初始化连接。 - 使用连接:在Servlet或Filter中,通过连接器进行读写操作。 3. **缓存策略** - 缓存控制:决定何时将数据存入Redis以及何时从Redis中读取。常见...

    Redis使用lettuce和jedis.pdf

    Jedis是一个简单的Redis客户端,它以单线程方式与Redis服务器进行交互,支持连接池管理。Lettuce是另一个Redis客户端,它基于Netty实现,并且是一个完全的异步驱动。Lettuce支持自动重连、异步和同步用例,支持Redis...

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

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

    java-redis jar

    7. **RedisConfigurations**:Spring Boot通过`RedisProperties`和`RedisAutoConfiguration`自动配置Redis,包括连接池、超时时间、密码等。 8. **SentinelConfigurations**:如果Redis集群中使用了哨兵(Sentinel...

    Redis缓存数据库在JAVA的使用说明-PPT版本

    - 使用连接池(如JedisPool)管理Redis连接,提高资源利用率和系统性能。 10. **Spring Data Redis集成** - Spring框架提供了Spring Data Redis模块,简化了Redis与Spring应用的集成,提供了Repository支持。 ...

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

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

    redis集群部署

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

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

    │ 03.Jedis 连接池优化.mp4 │ 04.Lettuce 简单介绍.mp4 │ ├─第 04 章 Redis 基本应用 │ 01.Redis 做分布式锁-1.mp4 │ 02.Redis 做分布式锁-2.mp4 │ 03.Redis 做分布式锁-3.mp4 │ 04.Redis 做消息...

    redis实战的pdf及java源代码

    内容可能包括但不限于Redis的数据类型(如字符串、哈希、列表、集合、有序集合)、持久化策略(RDB和AOF)、主从复制、Sentinel哨兵系统和Cluster集群的构建与管理。此外,它还可能涉及Redis与其他服务的集成,例如...

    Boot整合redis.zip

    如果需要更高级的功能,如连接池管理、命令统计等,可以考虑使用Lettuce客户端,它提供了更丰富的API。在`pom.xml`中添加Lettuce依赖,并在配置中指定使用Lettuce客户端。 8. **Redis Sentinel与Cluster支持** ...

    springboot-redis.rar

    - 使用JedisMonitor或Spring Data Redis的连接池监控工具(如Lettuce)进行监控,分析Redis的使用情况。 - 考虑使用连接池来提高性能,如Lettuce的`StatefulRedisConnection`。 - 根据业务需求调整Redis的配置,...

Global site tag (gtag.js) - Google Analytics