redis作为缓存型数据库,越来越受到大家的欢迎,这里简单介绍一下java如何操作redis。
1、java连接redis
java通过需要jedis的jar包获取Jedis连接。
public void getConn()
{
//获取jedis连接
Jedis jedis = new Jedis("127.0.0.1",6379);
//获取redis中以FIELD开头的key
Set<String> keys = jedis.keys("FIELD*");
for(String key : keys)
{
System.out.println(key);
}
}
2、java获取jedis连接池
如果每次连接redis都new1个Jedis的话,势必耗费很多资源,这里就提到redis连接池。
所需jar包
commons-pool2-2.3.jar
public class RedisUtil
{
private static JedisPool pool = null; /**
* 获取jedis连接池
* */
public static JedisPool getPool()
{
if(pool == null)
{
//创建jedis连接池配置
JedisPoolConfig config = new JedisPoolConfig();
//最大连接数
config.setMaxTotal(100);
//最大空闲连接
config.setMaxIdle(5);
//创建redis连接池
pool = new JedisPool(config,"127.0.0.1",6379,超时时长);
}
return pool;
} /**
* 获取jedis连接
* */
public static Jedis getConn()
{
return getPool().getResource();
}
}
新版本jedis的jar包获取连接池,使用完后用jedis.close()归还连接:
@Test
public void testPool()
{
//获取jedis连接
Jedis jedis = RedisUtil.getConn();
String value = jedis.get(key);
//使用之后记得关闭连接
jedis.close();
}
老版本的jedis jar获取连接,使用完要用pool.returnResource(jedis);归还连接
public void testPool()
{
//获取jedis连接
JedisPool pool = RedisUtil.getPool();
Jedis jedis = pool.getResource();
String value = jedis.get(key);
//使用之后记得关闭连接
pool.returnResource(jedis);
}
java操作redis redis连接池的更多相关文章
-
java操作mongodb(连接池)(转)
原文链接: java操作mongodb(连接池) Mongo的实例其实就是一个数据库连接池,这个连接池里默认有10个链接.我们没有必要重新实现这个链接池,但是我们可以更改这个连接池的配置.因为Mong ...
-
Java操作数据库——使用连接池连接数据库
Java操作数据库——使用连接池连接数据库 摘要:本文主要学习了如何使用JDBC连接池连接数据库. 传统方式和连接池方式 传统方式的步骤 使用传统方式在Java中使用JDBC连接数据库,完成一次数据库 ...
-
redis运用连接池报错解决
redis使用连接池报错解决redis使用十几小时就一直报异常 redis.clients.jedis.exceptions.JedisConnectionException: Could not g ...
-
nodejs + redis/mysql 连接池问题
nodejs + redis/mysql 连接池问题 需不需要连接池 连接池的作用主要是较少每次临时建立连接所带来的开销.初步一看,nodejs运行单线程上,它不能同时使用多个连接,乍一看是不需要连接 ...
-
python redis之连接池的原理
python redis之连接池的原理 转载地址 什么是连接池 通常情况下, 当我们需要做redis操作时, 会创建一个连接, 并基于这个连接进行redis操作, 操作完成后, 释放连接, 一般情况下 ...
-
Java自己动手写连接池四
Java自己动手写连接池四 测试: package com.kama.cn; import java.sql.Connection; public class Test { public static ...
-
Java自己动手写连接池三
Java自己动手写连接池三,核心代码; package com.kama.cn; import java.sql.Connection;import java.util.ArrayList;impor ...
-
java客户端Jedis操作Redis Sentinel 连接池
pom配置: <dependency> <groupId>org.springframework.data</groupId> <artifactId> ...
-
Redis 配置连接池,redisTemplate 操作多个db数据库,切换多个db,解决JedisConnectionFactory的设置连接方法过时问题。(转)
环境 springmvc jdk1.8 maven redis.properties配置文件 #redis setting redis.host=localhost redis.port=6379 r ...
-
redis单机连接池
一.配置文件 1. db.properties配置文件#IP地址 redis.ip = 127.0.0.1 #端口号 redis.port= #最大连接数 redis.max.total= #最大空闲 ...
随机推荐
-
asp.net下调用Matlab生成动态链接库
对于这次论文项目,最后在写一篇关于工程的博客,那就是在asp.net下调用matlab生成的dll动态链接库.至今关于matlab,c/c++(opencv),c#(asp.net)我总共写了4篇配置 ...
-
BGP学习笔记
源自红茶三杯: BGP应用于大规模网络或运营商,用作在AS间传递路由信息 使用BGP的三大理由 1. 大量路由需要承载, IGP只能容纳千条,而BGP可以容纳上万(应该是IGP结合BGP使用?) 2. ...
-
第一个wxWidgets程序
wxWidgets的安装方法网上有一大堆,可以参照http://wiki.codeblocks.org/index.php?title=WxWindowsQuickRef 这里解压并编译 ,也可以参照 ...
-
Maxicode码
Maxicode的缘起和发展 1980年代晚期,美国知名的UPS(United Parcel Service)快递公司认知到利用机器辨读资讯可有效改善作业效率.提高服务品质,故从1987年开始着手於机 ...
-
PHP语言基础03 By ACReaper
03.01逻辑运算符 &&,and ||,or xor 这里只强调一点用and或者or的话,记得加上括号,不然可能出错,至于原因我也不是很清楚,反正尽量直接用&&,|| ...
-
java-6数组
一. 请编写一个程序将一个整数转换为汉字读法字符串.比如"1123"转换为"一千一百二十三".更进一步,能否将数字表示的金额改为"汉字表达?比如将&q ...
-
无限极分类class
class Category { /** * 返回一维数组 * @static * @param array $cate 要递归的数组 * @param string $html 子级分类前要显示的缩 ...
-
[leetcode-357-Count Numbers with Unique Digits]
Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...
-
redis_列表对象
<Redis设计与实现>中说:redis列表对象有两种底层编码格式:ziplist.linkedlist,其中ziplist用压缩列表实现.linkedlist用双向链表实现 但我在实践中 ...
-
php的常量
系统常量 __FILE__ 当前PHP文件的相对路径 __LINE__ 当前PHP文件中所在的行号 __FUNCTION__ 当前函数名,只对函数内调用起作用 __CLASS__ 当前类名,只对类起作 ...