使用Jedis操作Redis數據庫


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包:

Jedis的基本操作是:

Jedis官方文檔:http://xetorthio.github.io/jedis/

Jedis的常用API是:

Jedis的基本操作是:

@Test
public void testJedisSingle(){
//1 設置ip地址和端口
Jedis jedis = new Jedis("localhost", 6379);
//2 設置數據
jedis.set("name", "qingmu");
//3 獲得數據
String name = jedis.get("name");
System.out.println(name);
//4 釋放資源
jedis.close();
}

 jedis連接池的使用:

jedis連接資源的創建與銷毀是很消耗程序性能,所以jedis為我們提供了jedis的池化技術,jedisPool在創建時初始化一些連接資源存儲到連接池中,使用jedis連接資源時不需要創建,而是從連接池中獲取一個資源進行redis的操作,使用完畢后,不需要銷毀該jedis連接資源,而是將該資源歸還給連接池,供其他請求使用。
Jedis連接池查詢API的方式:

 

jedisPool的基本使用:

@Test
public void testJedisPool(){
//1 獲得連接池配置對象,設置配置項
JedisPoolConfig config = new JedisPoolConfig();
// 1.1 最大連接數
config.setMaxTotal(30);
// 1.2 最大空閑連接數
7.4 案例-編寫jedis連接池工具類
JedisUtils.java
config.setMaxIdle(10);
//2 獲得連接池
JedisPool jedisPool = new JedisPool(config, "localhost", 6379);
//3 獲得核心對象
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
//4 設置數據
jedis.set("name", "itcast");
//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();
}
}
}

Jedis的工具類的編寫:

package com.itheima.utils;
import java.util.ResourceBundle;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class JedisUtils {
private static JedisPoolConfig poolConfig = null;
private static JedisPool jedisPool = null;
private static Integer maxTotal = null;
private static Integer maxIdle = null;
private static String host = null;
private static Integer port = null;
static{
jedis.properties
//讀取配置文件 獲得參數值
ResourceBundle rb = ResourceBundle.getBundle("jedis");
maxTotal = Integer.parseInt(rb.getString("jedis.maxTotal"));
maxIdle = Integer.parseInt(rb.getString("jedis.maxIdle"));
port = Integer.parseInt(rb.getString("jedis.port"));
host = rb.getString("jedis.host");
poolConfig = new JedisPoolConfig();
poolConfig.setMaxTotal(maxTotal);
poolConfig.setMaxIdle(maxIdle);
jedisPool = new JedisPool(poolConfig,host,port);
}
public static Jedis getJedis(){
Jedis jedis = jedisPool.getResource();
return jedis;
}
}

jedis.properties

jedis.host=localhost
jedis.port=6379
jedis.maxTotal=30
jedis.maxIdle=10

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM