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(); } }