Jedis连接redis

今天与大家分享下,Jedis连接池使用。先看一段JAVA 代码:

        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxIdle(100);

        JedisPool pool = new JedisPool(config, "ip地址", 6379);
        return pool.getResource();

这段代码是最简单连接redis的连接池代码,单机连接,存在单点故障。不过也看这个IP是否是VIP, redis可以做成HA模式。架构如下图:

redis 两台服务器,通过专业的HA软件实现主从管理,对外通过VIP提供服务,但主机宕机,HA会切换到从机运行,同时改变从机的角色为: master.。 这种架构不适合做读写分离,只有一台机器ONLINE 状态。

Redis 分片架构,先看图。典型的分片架构如下图:

该架构适合做并发较高,访问量大,如果采用jedis连接,可以实现Hash 一致性数据分布。具体代码如下:

		JedisPoolConfig config = new JedisPoolConfig();

		List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
		shards.add(new JedisShardInfo("10.20.15.236", 6379));
		shards.add(new JedisShardInfo("10.20.15.236", 6380));

		// 构造池
		ShardedJedisPool shardedJedisPool = new ShardedJedisPool(config, shards);
		ShardedJedis shardedJedis = shardedJedisPool.getResource();

Redis 哨兵机制

Redis本身提供一种HA方式,直接上图:

在服务器上启动多个哨兵进程,通过哨兵进程监控MASTER节点,当master节点宕机 , Sentinel 进程就会切换到从机。

Sentinel 进程的配置文件如下:

bind 10.20.15.236
port 7000

dir "/var/work/redis/tmp"

sentinel myid 466427b54fe410637a35b60ee3fbf995411b71da
sentinel monitor mymaster 10.20.15.241 6379 1
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout mymaster 150
# Generated by CONFIG REWRITE
sentinel config-epoch mymaster 6
sentinel leader-epoch mymaster 6
sentinel known-slave mymaster 10.20.15.236 6379
sentinel current-epoch 6

配置文件在这就不细说了。

Jedis 如何使用:

        Set<String> sentinels = new HashSet<String>();
        sentinels.add("10.20.15.236:7000");
        sentinels.add("10.20.15.241:7000");
        JedisSentinelPool pool = new JedisSentinelPool("mymaster", sentinels);

注意,该代码的IP地址是Sentinel 进展的IP和端口号。

时间: 2024-08-28 12:01:10

Jedis连接redis的相关文章

通过jedis连接redis单机成功,使用redis客户端可以连接集群,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool

一,问题描述: (如题目)通过jedis连接redis单机成功,使用JedisCluster连接redis集群一直报Could not get a resource from the pool 但是使用redis客户端可以连接集群(我使用的redis desktop manager) 在java中通过jedis连接redis单机也成功,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool, 我以命令行方式操作是没问题的

使用jedis连接redis可能会出现的问题及解决方案

使用jedis连接redis可能会出现的问题及解决方案: 1)ip绑定问题 Connection refused: connect 把Redis的配置文件redis.conf里的 bind localhost(或者bind 127.0.0.1,表明只有该主机才能访问)注释掉. 或者修改为: bind ip     表明,只能通过ip访问. 2).保护模式 DENIED Redis is running in protected mode because protected mode is ena

关于Jedis连接redis出现问题

环境说明: redis服务器系统:ubuntu ip 192.168.10.9 port 6379 两台电脑:一个作为专门的服务器,一个是开发环境 就这样的简单的代码连接redis服务器 import redis.clients.jedis.Jedis; public class Test { public static void main(String[] args) { Jedis jedis = new Jedis("192.168.10.9"); jedis.auth(&quo

Jedis连接Redis三种模式

这里说的三种工作模式是指: 1.单机模式 2.分片模式 3.集群模式(since 3.0) 说明图详见以下: 使用单机模式连接: 1 private String addr="192.168.1.1"; 2 private String port="6236"; 3 private String key="key"; 4 private Jedis jedis=new Jedis(addr,port);//Jedis获取到的Redis数据在jed

Jedis连接redis客户端

1 单点的redis利用jedis客户端连接 如何连接 1 //1 利用jedis连接对象操作redis 2 @Test 3 public void test01(){ 4 //构造一个具有连接信息的jedis对象 5 //确定虚拟机linux系统的端口是开放的? 防火墙 6 Jedis jedis=new Jedis("192.168.60.131", 6379); 7 jedis.set("name", "hanlaoshi"); 8 jed

使用Jedis连接Redis

关键字:Redis Jedis 多线程 使用jedis作为客户端连接redis,Jedis封装了许多对reids的操作,可以很方便的实现对redis的访问 1 <dependency> 2 <groupId>redis.clients</groupId> 3 <artifactId>jedis</artifactId> 4 <version>2.8.1</version> 5 </dependency> 在本机

jedis 连接 redis:Could not get a resource from the pool——我的出错原因和解决办法

windows 下安装的,本机使用 现象:刚装好开发使用好好的, 重启电脑后就报这个错 网上的所有可能都试过,没有用. 最后,放弃所有包装,用最原始的代码进行连接测试: Jedis jedis=new Jedis("127.0.0.1"); jedis.auth("7777");//password jedis.set("firstKey", "hello redis!"); ERR Client sent AUTH, but

java 连接Redis及demo

java连接linux Redis遇到的问题 昨天在Linux搭建了Redis服务,今天使用java连接测试了一下.要想使用java连接redis服务,就离不开jedis-2.6.1.jar.使用jedis连接redis十分方便.下面我们测试一下是否连接上redis服务: package com.coinvs.redis.util;import redis.clients.jedis.Jedis;//import redis.clients.jedis.Jedis;public class Ra

Java连接Redis之redis的增删改查

一.新建一个maven工程,工程可以以jar的形式或war都行,然后导入正确的依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs