java操作redis数据库
来源:互联网 发布:linux什么是管道 编辑:程序博客网 时间:2024/04/29 02:37
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* 操作redis数据库的工具类
* @author xin_luo
* @version 1.0 2015/6/8
*
*/
public class RedisClient {
private JedisPool jedisPool;//非切片连接池
private static RedisClient rc = null;
/**
* 私有的构造方法,单例模式必备
* @param host
* @param port
* @param timeOut
*/
private RedisClient(String host,int port,int timeOut) {
initialPool(host,port,timeOut);
}
/**
* 单例模式。获得唯一实例
* @param host
* @param port
* @param timeOut
* @return RedisClient唯一实例
*/
public synchronized static RedisClient getInstants(String host,int port,int timeOut) {
if (rc == null) {
rc = new RedisClient(host,port,timeOut);
}
return rc;
}
/**
* 初始化连接池
* @param host
* @param port
* @param timeOut
*/
private void initialPool(String host,int port,int timeOut) {
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxActive(20);
config.setMaxIdle(5);
config.setMaxWait(1000l);
config.setTestOnBorrow(false);
jedisPool = new JedisPool(config, host,port, timeOut);
}
/**
* 重新获得连接池
* @param host
* @param port
* @param timeOut
*/
public void reSetPool(String host,int port,int timeOut) {
if (this.jedisPool == null) {
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxActive(2000);
config.setMaxIdle(200);
config.setMinIdle(5);
config.setMaxWait(30000L);
this.jedisPool = new JedisPool(config, host, port, timeOut);
}
}
/**
* 保存数据
* @param key
* @param str
*/
public void saveStrValue(String key, String str) {
Jedis jedis = this.open();
jedis.set(key, str);
close(jedis);
}
/**
* 获得数据
* @param key
* @return value
*/
public String getStrValue(String key) {
Jedis jedis = this.open();
String string = jedis.get(key);
close(jedis);
return string;
}
/**
* 删除数据
* @param key
* @return
*/
public Long delStr(String key) {
Jedis jedis = this.open();
Long reLong = jedis.del(key);
close(jedis);
return reLong;
}
/**
* 对key的模糊查询
* @param keys 正则表达式
* @return 查到的结果集
*/
public List<String> getKeys(String keys) {
List<String> results = new ArrayList<String>();
Jedis jedis = open();
Set<String> result = jedis.keys(keys);
for (String r : result) {
results.add(r);
}
return results;
}
/**
* 获得Jedis对象
* @return
*/
public Jedis open() {
return this.jedisPool.getResource();
}
/**
* 关闭Jedis
* @param jedis
*/
public void close(Jedis jedis){
this.jedisPool.returnResource(jedis);
}
}
0 0
- java操作redis数据库
- java操作Redis数据库
- java操作redis数据库
- java代码操作Redis数据库
- 【Redis学习】:Java操作redis数据库
- java 操作redis 数据库一:基本操作
- redis - Java操作 用redisson 和 jedis 操作redis数据库
- java操作redis数据库二:list集合
- java操作redis数据库三:set集合
- java操作redis数据库四:map集合
- Redis缓存数据库操作类(Java)
- java中使用Jedis操作Redis数据库
- java 操作redis数据库增删该查
- java操作redis数据库实例(redis集群)
- java操作redis数据库实例(redis集群)
- java操作redis数据库实例(redis集群)
- redis【java操作redis】
- C++操作Redis数据库
- 项目管理流程控制小结
- 变量的持续性、链接性和作用域
- 王刚口述滴滴的创业经历
- Android学习之常用控件(1)
- fragment与Button或Textview监听换页
- java操作redis数据库
- 使用axiom创建webservice
- 自定义字节缓冲区用于文件复制
- 团队管理在IT项目实施中的作用
- java使用HTTPclient访问网络
- AndroidManifest.xml——activity(五)
- java 使用jsch.jar包通过sftp访问Linux服务器
- 让JavaScript在Visual Studio 2015中编辑得更容易
- Spring面试问答Top 25