1.引入jar包:
2.工具类
package cms.redis;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.io.IOException;
import java.io.InputStream;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;
public class JedisPoolUtils {
private static JedisPool pool = null;
static {
//加载配置文件
InputStream in = JedisPoolUtils.class.getClassLoader().getResourceAsStream("redis.template");
Properties pro = new Properties();
try {
pro.load(in);
} catch (IOException e) {
e.printStackTrace();
}
//获得池子对象
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxIdle(Integer.parseInt(pro.get("redis.client.pool.max").toString()));//最大闲置个数
poolConfig.setMinIdle(Integer.parseInt(pro.get("redis.client.pool.idle").toString()));//最小闲置个数
poolConfig.setTestOnBorrow(pro.getProperty("redis.client.pool.TestOnBorrow").equals("true"));
pool = new JedisPool(poolConfig, pro.getProperty("redis.server.ip"), Integer.parseInt(pro.get("redis.server.port").toString()),
Integer.parseInt(pro.get("redis.client.pool.try.timeout").toString()), pro.getProperty("redis.server.password"));
}
/**
* 获取Jedis实例
*/
public synchronized static Jedis getJedis() {
try {
if (pool != null) {
Jedis resource = pool.getResource();
return resource;
} else {
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/***
*
* 释放资源
*/
public static void returnResource(final Jedis jedis) {
if(jedis != null) {
pool.close();
}
}
/**
* Redis基本(字符串)操作
* 返回 key 所关联的字符串值。
* @param key
* @return
*/
public static String get(String key){
Jedis jedis = (Jedis) getJedis();
String set = jedis.get(key);
jedis.close();
return set;
}
/**
* Redis基本(字符串)操作
* 将设置某个key的值,如果 key 已经持有其他值,就覆写旧值,无视类型。
* @param key
* @param value
* @return
*/
public static String set(String key, String value){
Jedis jedis = (Jedis) getJedis();
String set = jedis.set(key, value);
jedis.close();
return set;
}
public static void deleteByKeyPrefix(String KeyPrefix){
Jedis jedis = (Jedis) getJedis();
Set<String> set = jedis.keys(KeyPrefix +"*");
Iterator<String> it = set.iterator();
while(it.hasNext()){
String keyStr = it.next();
jedis.del(keyStr);
}
jedis.close();
}
public static void main(String[] args) {
JedisPoolUtils.set("a", "aaa");
}
}
3.配置文件
redis.template
redis.server.ip=127.0.0.1
redis.server.port=6379
redis.server.password=wxy
redis.client.pool.max=20
redis.client.pool.idle=10
redis.client.pool.TestOnBorrow=false
redis.client.pool.try.timeout=500
4.关闭和启动redis
关闭,杀死进程
开启
./redis-server ../redis.conf
5.其他
redis.conf中有bind ip的配置,如果bind 127.0.0.1,只能本机访问。band 172.17.xx.xx 其他机器页=也可以访问。
6.redis API