java 操作redis 数据库一:基本操作

redis作为nosql数据库的佼佼者,作为一名java开发人员,掌握其操作还是很有必要的

下载地址:http://redis.io/download, 

安装我就不累赘了,自行百度去

在操作前,需要添加操作redis需要的jar包jedis.jar

好,废话不多说,直接上代码

package com.redis;


import java.util.ArrayList;
import java.util.List;


import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;




public class DemoRedis {
/**
* 获取jedis对象
* @return
*/
Jedis getJedis(){
JedisPoolConfig config =new JedisPoolConfig();
JedisPool s=new JedisPool(config,"127.0.0.1",6379);
Jedis je=s.getResource();
return je;
}
/**
* 添加
* @param key
* @param value
*/
void add(String key,String value){
Jedis jedis=getJedis();
String str=jedis.set(key, value);
}


/**
* 显示
* @param key
*/
void show(String key){
Jedis jedis=getJedis();
System.out.println("取出的值是:"+jedis.get(key));

}
/**
模糊查询
* @param str 
*/
void showCompex(String str){
Jedis jedis=getJedis();
System.out.println("模糊查询key:"+jedis.keys(str));

}
/**
* 删除
* @param str
*/
void delete(String[] str){
Jedis jedis=getJedis();
System.out.println("返回值为:"+jedis.del(str));



}

/**
* 添加多个key-value
* @param str

*/
void addManyKey(String[] str){
/*
* 格式:跟json差不多,区别就是把 : 转成 ,
String str[]=new String[]{"one","name1","two","name2"};
*/
Jedis jedis=getJedis();
jedis.mset(str);
}

/**
* 删除所有
*/
void deleteAll(){
System.out.println(getJedis().flushDB());
}
/**
* 设置key的超时
* @param key
* @param time
*/
void setTimeOut(String key,int time){

System.out.println(getJedis().expire(key, time));
}
/**
* 查询key的时间,不存在时返回-2,存在没有设置时间返回-1,否则返回时间
* @param key
*/
void showTimeOut(String key){
System.out.println(getJedis().pttl(key));
}

}



二。补充,

上面获取连接的方式适合测试,在实际开发中并不可取,应该使用工厂类来创建,附上代码

package com.redis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
 * redis工厂类
 * @author Administrator
 *C:\Users\Administrator\.m2\repository\redis\clients\jedis\2.8.0\jedis-2.8.0.jar
 */
public class RedisFactory {
//最大链接数
private int maxTotal=10;
//最大空闲线程
private int maxIdle=5;
//最小空闲数
private int minIdle=0;
//最大等待时间
private int maxWaitMillis=1000;
//连接池管理对象
private static JedisPool jedisPool;
//地址
private String url;
//端口
private int port;
//密码
private String passWold;
//读取超时时间
private int timeOut=1000;
//
private static RedisFactory obj=new RedisFactory();

private RedisFactory(){

}
public  static RedisFactory CreateRedisFactory(){
return obj;
}
/**
* 创建链接池对象
*/
private  synchronized void createJedsiPool(){
JedisPoolConfig config=new JedisPoolConfig();
//最大链接数
config.setMaxTotal(maxTotal);
//最大空闲线程
config.setMaxIdle(maxIdle);
//最大等待时间
config.setMaxWaitMillis(maxWaitMillis);
//最小空闲数
config.setMinIdle(minIdle);
this.jedisPool=new JedisPool(config,url,port,timeOut,passWold);
}
/**
* 获取连接
* @return
*/
public synchronized  Jedis getJedis(){
if(jedisPool==null){
createJedsiPool();
}
//当线程数用完进行等待
if(jedisPool.getNumActive()>=maxTotal){
while(true){
try {
Thread.sleep(500);
if(jedisPool.getNumActive()<maxTotal)
break;
} catch (InterruptedException e) {
break;
}
}
}
return jedisPool.getResource();
}


public String getUrl() {
return url;
}


public void setUrl(String url) {
this.url = url;
}


public void setPort(int port) {
this.port = port;
}


public String getPassWold() {
return passWold;
}


public void setPassWold(String passWold) {
this.passWold = passWold;
}


public void setTimeOut(int timeOut) {
this.timeOut = timeOut;
}


public void setMaxTotal(int maxTotal) {
this.maxTotal = maxTotal;
}

public void setMaxIdle(int maxIdle) {
this.maxIdle = maxIdle;
}

public void setMinIdle(int minIdle) {
this.minIdle = minIdle;
}

public void setMaxWaitMillis(int maxWaitMillis) {
this.maxWaitMillis = maxWaitMillis;
}

}




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值