知识点

相关文章

更多

最近更新

更多

使用连接池操作redis

2019-03-19 21:24|来源: 网路

构建连接池对象JedisPool
JedisPool jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379);
其中使用到JedisPoolConfig 连接池配置对象,在这个配置对象中可以设置最大连接数等。
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
使用Jedis 直接从连接池中获取资源
Jedis jedis = jedisPool.getResource();


示例

package com._656463.redis;
 
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
 
public class JedisPoolDemo {
    public static void main(String[] args) {
        // 构建连接池配置对象
        JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
        // 设置最大连接数
        jedisPoolConfig.setMaxTotal(50);
 
        // 构建连接池
        JedisPool jedisPool = new JedisPool(jedisPoolConfig, "127.0.0.1", 6379);
 
        // 从连接池中获取连接
        Jedis jedis = jedisPool.getResource();
 
        // 读取数据
        System.out.println(jedis.get("mytest"));
 
        // 将连接还回到连接池中
        jedisPool.returnResource(jedis);
 
        // 释放连接
        jedisPool.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主从复制

  • 复制模式

    1. 主从复制
    2. 从从复制
  • 复制过程

    • slave向master发送sync命令;
    • master开启子进程执行bgsave写入rdb文件;
    • master发送缓存和RDB文件给slave;
    • master发送数据发送给slave完成复制;

redis集群(Redis_Cluster)

相关问答

更多
  • 是自己编的 可以引用 连接池思想就是这个啊 不过你可以下载 已经编好的连接池 上面有API 自己可以按照这个思想 就回用 了; import java.io.FileInputStream; public class ConnectionPool{ private Vector pool; private String url; private String username; private String password; private String driverClassNa ...
  • spring 可以不用连接池吗,为什么? 当然可以。你首先要明白spring是什么。 我实现计算两个整数的和这样一个需求,是否需要连接池呢?我要连接池干嘛呢? 就算我连了数据库,我完全可以用jdbc连啊,你可以写自己的类。 就算用了连接池组件,往往还可以配置是否是连接池的属性。也就相当于不用连接池,而是每次创建一个新的连接。 你问这个问题,说明你还有弄没有明白spring是什么,多看看书吧,或者到www.itcast.net上看黎活明老是的spring2.5视频教程。
  • 是的你只需要在你的配置文件稍微配置一下就能用,把我们项目的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 支持jdbc 所以druid,c3p0等常用连接池都可以,但是在高并发的情况下会有问题。
  • 如何实现连接池[2023-04-22]

    连接池的作用就是预先和数据库建立好若干的连接并存储在连接池中,在使用的时候程序直接调用这些连接池中的连接而不是和数据库在发生连接建立的过程。 在一个程序中建立和销毁连接是很耗费资源的一件事情,所以连接池最主要的作用就是为了提高程序的运行效率。 根据上面的说法我们可以得出连接池实现的方法: 1.必须有一个容器来存储一些已有的连接,这样我们最容易想到的就是数组或者一些JAVA容器。 2.连接池的特性是取出或者放回去一个连接,所以最符合这种特性的容器应该是栈特性,所以我们一般使用LinkedList来当做连接池的 ...
  • 当然要啦。JDBC(Java DataBase Connection)是任何要连数据库的java程序必备的接口,即使是Hibernate这种专注持久化的框架也是以JDBC为基础的。 连接池的作用只是管理并重复利用少量的链接,以达到节省系统资源和减少网络开销的目的。连接池里的连接同样是经过JDBC建立的。 如果要建立基于tomcat的Web应用,应该把驱动的jar包放在/WEB-INF/lib/下面。
  • 仅当ActiveRecord与databases.yml配置文件中定义的SQL数据库进行通信时,才使用连接池。 它根本与Redis无关,你引用的SO答案实际上与Redis无关。 因此,除非您想为Redis使用一些自定义连接池解决方案 ,否则您根本不需要处理它,因为默认情况下Rails中没有Redis池。 我想如果你的应用程序中有多个线程,那么自定义池可能是合适的。 更新:在您的方案中构建连接池是否有意义? 我对此表示怀疑。 连接池是一种重用开放连接的方法(通常在多个线程/请求之间)。 但你说你: 使用独角兽 ...
  • 你不应该在redis方面有任何问题 - http://jaksprats.wordpress.com/2010/09/22/12/显示高达64k并发连接的性能数据。 300距离64k还有很长的路要走,但它距离java可以合理处理的最大线程数更近。 这取决于您使用的硬件,JVM设置以及每个线程正在执行的操作。 您的问题中没有足够的信息可以确定地知道,但很可能这是您遇到问题的地方。 You shouldn't have any issues on the redis side - http://jaksprat ...
  • 这是一个工作的例子,我删除了sinatra / sinatra,因为我觉得不需要它,我无法使它工作: 的Gemfile: source :rubygems gem 'thin' gem 'rack-fiber_pool' gem 'hiredis' gem 'sinatra' gem 'em-synchrony' gem 'redis' config.ru: require 'rubygems' require 'bundler/setup' require 'sinatra/base' require ...