Java与redis交互比较常用的是Jedis。
先导入jar包:
commons-pool2-2.3.jar
jedis-2.7.0.jar
基本使用:
public class RedisTest1 {
public static void main(String[] args) {
Jedis jedis = new Jedis("localhost",6379);
jedis.set("username","chichung");
jedis.close();
}
}
Jedis对象基本和redis的命令一模一样,这里不啰嗦了。
JedisPool连接池
类似于mysql连接池,jedis也有连接池。
基本使用如下:
public class RedisTest2 {
public static void main(String[] args) {
// 比较特殊的是,redis连接池的配置首先要创建一个连接池配置对象
JedisPoolConfig config = new JedisPoolConfig();
// 当然这里还有设置属性的代码 // 创建Jedis连接池对象
JedisPool jedisPool = new JedisPool(config,"localhost",6379); // 获取连接
Jedis jedis = jedisPool.getResource(); // 使用 // 关闭,归还连接到连接池
jedis.close();
}
}
一般可以抽取出来作为一个工具类使用:
例如有一个配置文件jedis.properties。
里面的内容如下:
host=127.0.0.1
port=6379
maxTotal=50
maxIdle=10
工具类代码如下:
package com.chichung.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.Properties; public class JedisPoolUtils {
private static JedisPool jedisPool; static {
InputStream is = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
Properties properties = new Properties();
try {
properties.load(is);
} catch (IOException e) {
e.printStackTrace();
} JedisPoolConfig config = new JedisPoolConfig();
config.setMaxTotal(Integer.parseInt(properties.getProperty("maxTotal")));
config.setMaxIdle(Integer.parseInt(properties.getProperty("maxIdle"))); jedisPool = new JedisPool(config,
properties.getProperty("host"),
Integer.parseInt(properties.getProperty("port"))); } public static Jedis getJedis(){
return jedisPool.getResource();
} }