redis下载地址:https://github.com/MSOpenTech/redis/releases
jedis下载地址:https://mvnrepository.com/artifact/redis.clients/jedis
封装好的单例
public class RedisUtils {
private static RedisUtils mInstence;
private String host = "localhost";// ip地址
private int port = 6379;// 端口
private String pswd = "123456";// 密码
public Jedis jedis;// 非分布式客户端连接
private JedisPool jedisPool;// 非分布式连接池
public ShardedJedis shardedJedis;
private ShardedJedisPool shardedJedisPool;// 分布式连接池
public synchronized static RedisUtils getInstence() {
if (mInstence == null) {
mInstence = new RedisUtils();
}
return mInstence;
}
public RedisUtils() {
initialPool();
initialShardedPool();
}
/**
* 初始化非分布式连接池
*/
private void initialPool() {
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxActive(20);
config.setMaxIdle(5);
config.setMaxWait(1000l);
config.setTestOnBorrow(false);
jedisPool = new JedisPool(config, host, port);
jedis = jedisPool.getResource();
//jedis.auth(pswd);
}
/**
* 初始化分布式连接池
*/
private void initialShardedPool() {
// 池基本配置
JedisPoolConfig config = new JedisPoolConfig();
config.setMaxActive(20);
config.setMaxIdle(5);
config.setMaxWait(1000l);
config.setTestOnBorrow(false);
// slave链接
List<JedisShardInfo> shards = new ArrayList<JedisShardInfo>();
shards.add(new JedisShardInfo(host, port, "master"));
// 构造池
shardedJedisPool = new ShardedJedisPool(config, shards);
shardedJedis = shardedJedisPool.getResource();
}
/**
*
* 方法功能说明: 打印所有key value
* @author 作者:jzh
* @date 创建时间 :2017-12-29 下午3:23:24
* @version 版本: v1.0
*/
public void printsAll() {
System.out.println("系统中所有键如下:");
Set<String> keys = jedis.keys("*");
Iterator<String> it = keys.iterator();
while (it.hasNext()) {
String key = it.next();
System.out.println("key=" + key + ",value=" + jedis.get(key));
}
}
public static void main(String[] args) {
RedisUtils.getInstence().jedis.set("name", "jzh");
RedisUtils.getInstence().jedis.set("age", "25");
RedisUtils.getInstence().jedis.set("sex", "男");
RedisUtils.getInstence().printsAll();
}
}