工具包Jedis支持所Redis命令,用法也非常簡單。
為了避免使用時每次都要連接redis,可以使用單例模式,下面介紹這種模式的編程方法,先下載 Jedis 工具包(下載網址見附錄)。
1、單例模式的服務類
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
public class RedisPool {
private static final String REDIS_HOST = "192.168.1.2";//主機IP
private static final int REDIS_PORT = 99;//埠號
//connectionTimeout 連接超時(默認2000ms) soTimeout 響應超時(默認2000ms)
private static final int REDIS_TIMEOUT = 2000;
//private static final String REDIS_PASSWORD = "123456";
private static final String REDIS_PASSWORD = null;//無密碼時使用NULL
private static JedisPool pool = null;
static {
if(pool == null) {
JedisPoolConfig config = new JedisPoolConfig();
//控制一個pool可分配多少個jedis實例,通過pool.getResource()來獲取;
//如果賦值為-1,則表示不限制;如果pool已經分配了maxActive個jedis實例,則此時pool的狀態為exhausted(耗盡)。
config.setMaxTotal(10);
//控制一個pool最多有多少個狀態為idle(空閒的)的jedis實例。
config.setMaxIdle(3);
//表示當borrow(引入)一個jedis實例時,最大的等待時間,如果超過等待時間,則直接拋出JedisConnectionException;單位毫秒
//小於零:阻塞不確定的時間, 默認-1
config.setMaxWaitMillis(1000*100);
//在borrow(引入)一個jedis實例時,是否提前進行validate操作;如果為true,則得到的jedis實例均是可用的;
config.setTestOnBorrow(true);
//return 一個jedis實例給pool時,是否檢查連接可用性(ping())
config.setTestOnReturn(true);
pool = new JedisPool(config, REDIS_HOST, REDIS_PORT, REDIS_TIMEOUT, REDIS_PASSWORD);
}
}
public static Jedis get() {
return pool.getResource();
}
public static void release(Jedis jd) {
if(jd != null) {
jd.close();
}
}
}
2、應用方法
Jedis方法和Redis命令是一致的,是一一對應的。
import redis.clients.jedis.Jedis;
import redis.clients.jedis.RedisPool;
public class NowJava {
public static void main(String[] args) {
//取連結
Jedis jd = JavaRedisPool.get();
//進行操作,Jedis方法和Redis命令是一致的。
jd.set("website1", "htts://NowJava.com");
jd.set("website2", "htts://www.baidu.com");
//釋放連結
if(jd != null) RedisPool.release(jd);
}
}
附:
Jedis下載:https://nowjava.com/download/31181
Redis安裝及使用教程:https://nowjava.com/book/redis-course
--知識分享,時代前行!~~ 時代Java還有更多好文章……