有关Redis 单机的具体配置,在前面的文章中已经有,非常简单,
可以参考:https://blog.csdn.net/vtopqx/article/details/46832919
Redis 配置完成后,有的需要在Java中连接,
简单的连接操作可以参考:
https://blog.csdn.net/vtopqx/article/details/49248245
除了使用简单的连接之外,还可以使用Redis池RedisPool连接操作
以下是使用RedisPool的相关连接代码(单机版,非集成Spring):
package com;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* @ClassName: RedisPool
* @Description: 单机RedisPool使用
* @author sam
* @date 2015-5-22 下午1:53:04
* @version V1.0
*/
public class JRedisPoolTest {
/**
* 非切片链接池
*/
private JedisPool jedisPool;
private String ip = "172.168.x.y";
private String pwd = "123456";
/**
* 构造函数
*/
public JRedisPoolTest() {
initialPool();
}
private void initialPool() {
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
//是否启用后进先出, 默认true
config.setLifo(true);
//最大空闲连接数, 默认8个
config.setMaxIdle(8);
//最大连接数, 默认8个
config.setMaxTotal(8);
//获取连接时的最大等待毫秒数(如果设置为阻塞时BlockWhenExhausted),如果超时就抛异常, 小于零:阻塞不确定的时间, 默认-1
config.setMaxWaitMillis(-1);
//逐出连接的最小空闲时间 默认1800000毫秒(30分钟)
config.setMinEvictableIdleTimeMillis(1800000);
//最小空闲连接数, 默认0
config.setMinIdle(0);
//每次逐出检查时 逐出的最大数目 如果为负数就是 : 1/abs(n), 默认3
config.setNumTestsPerEvictionRun(3);
//对象空闲多久后逐出, 当空闲时间>该值 且 空闲连接>最大空闲数 时直接逐出,不再根据MinEvictableIdleTimeMillis判断 (默认逐出策略)
config.setSoftMinEvictableIdleTimeMillis(1800000);
//在获取连接的时候检查有效性, 默认false
config.setTestOnBorrow(false);
//在空闲时检查有效性, 默认false
config.setTestWhileIdle(false);
jedisPool = new JedisPool(config, ip, 6379);
}
private Jedis getResource(){
Jedis jedis = jedisPool.getResource();
jedis.auth(pwd);
return jedis;
}
/**
* @Description: 关闭连接
* @param jedis
*/
private void returnResource(Jedis jedis){
if (jedis!=null) {
jedisPool.returnBrokenResource(jedis);
}
}
//test
public static void main(String[] args) {
JRedisPoolTest pool = new JRedisPoolTest();
JRedisTest test = new JRedisTest();
Jedis jedis = pool.getResource();
test.setJedis(jedis);
test.testString();
pool.returnResource(jedis);
}
}
以上代码,便是简单实现了Redis的池连接!