java 操作redis 数据库一:基本操作
2016-11-22 16:57
423 查看
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);
}
/**
* 删除所有
a94f
*/
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;
}
}
下载地址: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);
}
/**
* 删除所有
a94f
*/
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;
}
}
相关文章推荐
- java 数据库基本操作
- java数据库操作基本流程
- java数据库基本操作指南
- Java 数据库基本操作
- [Java] JDBC 01 初步 , java 连接 数据库的基本六步操作
- java 数据库基本操作
- JAVA数据库基本操作
- java如何操作非关系型数据库redis(-)
- java数据库基本操作
- Redis缓存系统(一)Java-Jedis操作Redis,基本操作以及 实现对象保存
- java 数据库基本操作
- java 数据库基本操作
- java 数据库基本操作及ResultSet高级应用
- java数据库基本操作
- java 数据库基本操作
- JAVA数据库基本操作
- Java 数据库基本操作
- 详解JAVA数据库基本操作
- java如何操作非关系型数据库redis(-)
- [Java] JDBC 01 初步 , java 连接 数据库的基本六步操作