redis集群与主从配置
- redis安装-redis集群管理
- redis主从复制(读写分离)-redis集群管理
- redis主从从架构搭建-redis集群管理
- redis从库只读设置-redis集群管理
- redis主从复制的原理-redis集群管理
- redis sentinel(哨兵) 配置详解-redis集群管理
- redis sentinel.conf详解-redis集群管理
- redis 集群环境搭建-redis集群管理
- redis集群插槽分配-redis集群管理
- redis新增集群节点-redis集群管理
- redis删除集群节点-redis集群管理
- redis集群出现宕机没法访问-redis集群管理
- redis 集群使用主从复制架构-redis集群管理
redis 基础教程
- Redis概述
- 基于linux下redis安装与配置
- 基于window安装redis
- Redis配置文件详解
- 通过redis客户端查看和设置配置
- Redis 客户端连接、密码验证、连接数设置
- 使用info命令获取 redis 服务详细信息
- Redis Desktop Manager客户端使用教程
redis 数据类型
Redis 高级教程
知识点
相关文章
更多最近更新
更多使用集群式的连接池操作redis
2019-03-19 21:34|来源: 网路
集群式连接池和普通的连接池主要的区别是:
1、普通连接池使用的是
JedisPool
2、集群式连接池使用的是
ShardedJedisPool
普通连接池的创建方式在上一节已经介绍过了,本次介绍集群式连接池的创建方式
// 定义集群信息
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
shards.add(new JedisShardInfo("127.0.0.1", 6379));
shards.add(new JedisShardInfo("127.0.0.1", 6380));
// 定义集群连接接
ShardedJedisPool shardedJedisPool = new ShardedJedisPool(poolConfig,
shards);
示例:
package com._656463.redis; import java.util.ArrayList; import java.util.List; import redis.clients.jedis.JedisPoolConfig; import redis.clients.jedis.JedisShardInfo; import redis.clients.jedis.ShardedJedis; import redis.clients.jedis.ShardedJedisPool; /** * 集群式的连接池 * */ public class ShardedJedisPoolDemo { public static void main(String[] args) { // 构建连接池配置对象 JedisPoolConfig poolConfig = new JedisPoolConfig(); // 设置最大连接数 poolConfig.setMaxTotal(50); // 定义集群信息 List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>(); shards.add(new JedisShardInfo("127.0.0.1", 6379)); shards.add(new JedisShardInfo("127.0.0.1", 6380)); // 定义集群连接接 ShardedJedisPool shardedJedisPool = new ShardedJedisPool(poolConfig, shards); ShardedJedis shardedJedis = null; try { // 从连接池中获取到jedis分片对象 shardedJedis = shardedJedisPool.getResource(); for (int i = 0; i < 100; i++) { shardedJedis.set("key" + i, "value" + i); } // 从redis中获取数据 String value = shardedJedis.get("mytest"); System.out.println(value); } catch (Exception e) { e.printStackTrace(); } finally { if (null != shardedJedis) { // 关闭,检测连接是否有效,有效则放回到连接池中,无效则重置状态 shardedJedis.close(); } } // 关闭连接池,正常使用的时候,不用关闭 shardedJedisPool.close(); } }
本文参数网络
redis知识点
redis快速入门
reids常用命令
redis数据结构
java_API_客户端
Jedis
Tlcache
redis_持久化
AOF
RDB
发布订阅(pub/sub)
redis_事件
redis事务
redis通讯协议
RESP(Redis Serialization Protocol)
redis高可用
redis哨兵
监控(Monitoring) 提醒(Notification) 自动故障迁移(Automatic failover)
redis主从复制
-
- 主从复制
- 从从复制
-
- slave向master发送sync命令;
- master开启子进程执行bgsave写入rdb文件;
- master发送缓存和RDB文件给slave;
- master发送数据发送给slave完成复制;
redis集群(Redis_Cluster)
相关问答
更多-
java数据库连接池详细操作[2022-03-10]
是自己编的 可以引用 连接池思想就是这个啊 不过你可以下载 已经编好的连接池 上面有API 自己可以按照这个思想 就回用 了; import java.io.FileInputStream; public class ConnectionPool{ private Vectorpool; private String url; private String username; private String password; private String driverClassNa ... -
redis集群与spring整合的连接池实例个数是否有限制[2022-06-11]
在spring配置文件中我们可以进行配置Redis,但是为了将Redis分离容易修改我将它卸载另外一个xml文件中,只要在spring配置文件中引入这个Redis配置文件就行了。 -
spring可以不用连接池吗[2022-12-24]
spring 可以不用连接池吗,为什么? 当然可以。你首先要明白spring是什么。 我实现计算两个整数的和这样一个需求,是否需要连接池呢?我要连接池干嘛呢? 就算我连了数据库,我完全可以用jdbc连啊,你可以写自己的类。 就算用了连接池组件,往往还可以配置是否是连接池的属性。也就相当于不用连接池,而是每次创建一个新的连接。 你问这个问题,说明你还有弄没有明白spring是什么,多看看书吧,或者到www.itcast.net上看黎活明老是的spring2.5视频教程。 -
redis集群与spring整合的连接池实例个数是否有限制[2022-09-21]
在spring配置文件中我们可以进行配置Redis,但是为了将Redis分离容易修改我将它卸载另外一个xml文件中,只要在spring配置文件中引入这个Redis配置文件就行了。 -
SpringBoot整合redis后,是否自带了连接池管理[2022-01-28]
是的你只需要在你的配置文件稍微配置一下就能用,把我们项目的redis配置给你参考一下 redis: host: port: password: # 连接超时时间(毫秒) timeout: 10000 pool: # 连接池中的最大空闲连接 max-idle: 100 # 连接池中的最小空闲连接 min-idle: 10 # 连接池最大连接数(使用负值表示没有限制) max-active: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制) max-wait: -1 # # 连接池中的最大空闲连接 # ... -
node mssql 连接池[2022-08-06]
generic-pool模块是nodejs的一个第三方模块,其作用为提供一个通用的连接池模块,可以通过generic-pool实现对tcp连接池或者MySQL数据库连接池等的管理。github的地址如下:https://github.com/coopernurse/node-pool // Create a MySQL connection pool with // a max of 10 connections, a min of 2, and a 30 second max idle time var ... -
impala连接池有哪些[2022-03-12]
impala 支持jdbc 所以druid,c3p0等常用连接池都可以,但是在高并发的情况下会有问题。 -
如何实现连接池[2023-04-22]
连接池的作用就是预先和数据库建立好若干的连接并存储在连接池中,在使用的时候程序直接调用这些连接池中的连接而不是和数据库在发生连接建立的过程。 在一个程序中建立和销毁连接是很耗费资源的一件事情,所以连接池最主要的作用就是为了提高程序的运行效率。 根据上面的说法我们可以得出连接池实现的方法: 1.必须有一个容器来存储一些已有的连接,这样我们最容易想到的就是数组或者一些JAVA容器。 2.连接池的特性是取出或者放回去一个连接,所以最符合这种特性的容器应该是栈特性,所以我们一般使用LinkedList来当做连接池的 ...