jedis是官方首選的java客戶端開發包
Redis不僅是使用命令來操作,現在基本上主流的語言都有客戶端支持,比如java、C、C#、C++、php、Node.js、Go等。 在官方網站里列一些Java的客戶端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推薦使用Jedis和Redisson。 在企業中用的最多的就是Jedis,Jedis同樣也是托管在github上, 地址:https://github.com/xetorthio/jedis。 下載jedis解壓后得到jar包如下:java操作redis數據庫API(Jedis)
| 解釋 | |
|---|---|
| new Jedis(host, port) | 創建jedis對象,參數host是redis服務器地址,參數port是redis服務端口 |
| set(key,value) | 設置字符串類型的數據 |
| get(key) | 獲得字符串類型的數據 |
| hset(key,field,value) | 設置哈希類型的數據 |
| hget(key,field) | 獲得哈希類型的數據 |
| lpush(key,values) | 設置列表類型的數據 |
| lpop(key) | 列表左面彈棧 |
| rpop(key) | 列表右面彈棧 |
| del(key) | 刪除指定的key |

jedisPool在創建時初始化一些連接資源存儲到連接池中,使用jedis連接資源時不需要創建,
而是從連接池中獲取一個資源進行redis的操作,使用完畢后,不需要銷毀該jedis連接資源,
而是將該資源歸還給連接池,供其他請求使用。
package com.baidu;
import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class jedisPool {
@Test
public void testJedisPool(){
//1 獲得連接池配置對象,設置配置項
JedisPoolConfig config = new JedisPoolConfig();
// 1.1 最大連接數
config.setMaxTotal(30);
//1.2 最大空閑連接數
config.setMaxIdle(10);
//獲得連接池
JedisPool jedisPool = new JedisPool(config,"localhost",6379);
Jedis jedis=null;
try {
//3.獲得核心對象
jedis = jedisPool.getResource();
//4.設置數據
jedis.set("name","xinruyi");
//5.獲得數據
String name = jedis.get("name");
System.out.println(name);
} catch (Exception e) {
e.printStackTrace();
} finally {
if(jedis!=null){
jedis.close();
}
}
//虛擬機關閉時,釋放pool資源
if(jedisPool!=null){
jedisPool.close();
}
}
}
/*JedisUtil*/
package com.baidu;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
import java.util.ResourceBundle;
/*jedis工具類*/
public final class JedisUtil {
private JedisUtil() {}
private static JedisPool jedisPool;
private static int maxtotal;
private static int maxwaitmillis;
private static String host;
private static int port;
/*讀取jedis.properties配置文件*/
static{
ResourceBundle rb = ResourceBundle.getBundle("jedis");
maxtotal = Integer.parseInt(rb.getString("maxtotal"));
maxwaitmillis = Integer.parseInt(rb.getString("maxwaitmillis"));
host = rb.getString("host");
port = Integer.parseInt(rb.getString("port"));
}
/*創建連接池*/
static{
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
jedisPoolConfig.setMaxTotal(maxtotal);
jedisPoolConfig.setMaxWaitMillis(maxwaitmillis);
jedisPool = new JedisPool(jedisPoolConfig,host,port);
}
/*獲取jedis*/
public static Jedis getJedis(){
return jedisPool.getResource();
}
/*關閉Jedis*/
public static void close(Jedis jedis){
if(jedis!=null){
jedis.close();
}
}
}
配置文件

