我是靠谱客的博主 英俊可乐,最近开发中收集的这篇文章主要介绍Redis工具类,使用JedisPool,并设置jedis连接池的参数RedisUtilJedisClientPoolPropertiesUtilsredis.properties,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
RedisUtil
import java.util.Set;
import redis.clients.jedis.Jedis;
public class RedisUtil {
/**
* set保存
* @param key
* @param value
*/
public static void setValue(String key, String value) {
Jedis jedis = JedisClientPool.jedisPool.getResource();
jedis.set(key, value);
jedis.close();
}
/**
* 保存并设置生存时间
* @param key
* @param value
* @param seconds
*/
public static void setValueTime(String key, String value, Integer seconds) {
Jedis jedis = JedisClientPool.jedisPool.getResource();
jedis.set(key, value);
jedis.expire(key, seconds);
jedis.close();
}
/**
* 根据key查询
* @param key
* @return
*/
public static String getByKey(String key) {
Jedis jedis = JedisClientPool.jedisPool.getResource();
String result = jedis.get(key);
jedis.close();
return result;
}
/**
* 查看所有key
* @return
*/
public static Set<String> getAllkeys() {
Jedis jedis = JedisClientPool.jedisPool.getResource();
Set<String> keys = jedis.keys("*");
jedis.close();
return keys;
}
/**
* 根据key删除
* @param key
*/
public static void delByKey(String key) {
Jedis jedis = JedisClientPool.jedisPool.getResource();
jedis.del(key);
jedis.close();
}
/**
* 根据key设置生存时间
* @param key
*/
public static void expireTime(String key, Integer seconds) {
Jedis jedis = JedisClientPool.jedisPool.getResource();
jedis.expire(key, seconds);
jedis.close();
}
/**
* 递增
* @param key
* @return
*/
public static Long incr(String key) {
Jedis jedis = JedisClientPool.jedisPool.getResource();
Long count = jedis.incr(key);
jedis.close();
return count;
}
}
JedisClientPool
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisClientPool {
public static JedisClientPool jedisClientPool = getInstance();
public static JedisPool jedisPool;
public static int maxTotal;
public static int maxIdle;
public static int maxWaitMillis;
public static synchronized JedisClientPool getInstance() {
if (null == jedisClientPool) {
jedisClientPool = new JedisClientPool();
}
return jedisClientPool;
}
public JedisClientPool() {
if (null == jedisPool) {
init();
}
}
/**
* 初始化Jedis
* @return
*/
private static JedisPoolConfig initPoolConfig() {
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
// 最大分配的对象数
jedisPoolConfig.setMaxTotal(maxTotal);
// jedis实例
jedisPoolConfig.setMaxIdle(maxIdle);
// 最大等待时间
jedisPoolConfig.setMaxWaitMillis(maxWaitMillis);
jedisPoolConfig.setTestOnBorrow(true);
// 是否进行有效性检查
jedisPoolConfig.setTestOnReturn(true);
return jedisPoolConfig;
}
/**
* 初始化jedis连接池
*/
public static void init() {
maxTotal = Integer.parseInt(PropertiesUtils.getValue("redis.pool.maxTotal"));
maxIdle = Integer.parseInt(PropertiesUtils.getValue("redis.pool.maxIdle"));
maxWaitMillis = Integer.parseInt(PropertiesUtils.getValue("redis.pool.maxWaitMillis"));
JedisPoolConfig jedisPoolConfig = initPoolConfig();
String host = PropertiesUtils.getValue("redis.host");
int port = Integer.parseInt(PropertiesUtils.getValue("redis.port"));
// 构造连接池
jedisPool = new JedisPool(jedisPoolConfig, host, port);
}
}
PropertiesUtils
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
public class PropertiesUtils {
public PropertiesUtils() {
}
private static Properties props = new Properties();
static {
try {
props.load(Thread.currentThread().getContextClassLoader().getResourceAsStream("redis.properties"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getValue(String key) {
return props.getProperty(key);
}
public static void updateProperties(String key, String value) {
props.setProperty(key, value);
}
}
redis.properties
redis.host=ip
redis.port=6379
redis.pool.maxTotal=300
redis.pool.maxIdle=100
redis.pool.maxWaitMillis=1500
最后
以上就是英俊可乐为你收集整理的Redis工具类,使用JedisPool,并设置jedis连接池的参数RedisUtilJedisClientPoolPropertiesUtilsredis.properties的全部内容,希望文章能够帮你解决Redis工具类,使用JedisPool,并设置jedis连接池的参数RedisUtilJedisClientPoolPropertiesUtilsredis.properties所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复