一、 使用Java操作Redis前,請先運行Redis服務與下載Redis驅動,以maven工程為例,引入如下jar
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
創建測驗類,驗證是否成功連接
public static void main(String[] args) {
//設定IP與埠,連接 Redis 服務
Jedis jedis = new Jedis("127.0.0.1",6379);
//設定 密碼
jedis.auth("1D9JJ9JIJ0003E4710AC0000596F1A72");
//查看服務是否運行,打出pong表示OK
System.out.println("connection is OK==========>: "+jedis.ping());
String name = jedis.get("admin");
System.out.println("姓名:" + name);
String noticeVal = jedis.hget("notice", "admin");
System.out.println("通知結果:" + noticeVal);
}
執行成功,結果如下
connection is OK==========>: PONG 姓名:null 通知結果:0
二、連接池管理Redis連接,引入redis.properties組態檔
# Redis settings # 最大閑置數 redis.maxIdle=30 # 最小閑置數 redis.minIdle=10 # 最大連接數 redis.maxTotal=100 # redis服務器的IP地址 redis.url=127.0.0.1 # redis埠 redis.port=6379 # redis密碼 redis.password=1D9JJ9JIJ0003E4710AC0000596F1A72 # 超時時間 redis.timeout=2000
撰寫工具類RedisUtil
package com.util;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* RedisUtil工具類
*
* @author Administrator
*
*/
public final class RedisUtil {
private static final Log logger = LogFactory.getLog(RedisUtil.class);
private static JedisPool jedisPool = null;
/**
* 初始化Redis連接池
*/
static {
try {
// 加載組態檔
InputStream in = RedisUtil.class.getClassLoader().getResourceAsStream("redis.properties");
Properties pro = new Properties();
try {
pro.load(in);
} catch (IOException e) {
e.printStackTrace();
}
// 獲得池子物件
JedisPoolConfig poolConfig = new JedisPoolConfig();
poolConfig.setMaxIdle(Integer.parseInt(pro.get("redis.maxIdle")
.toString()));// 最大閑置個數
poolConfig.setMinIdle(Integer.parseInt(pro.get("redis.minIdle")
.toString()));// 最小閑置個數
poolConfig.setMaxTotal(Integer.parseInt(pro.get("redis.maxTotal")
.toString()));// 最大連接數
jedisPool = new JedisPool(poolConfig, pro.getProperty("redis.url"),
Integer.parseInt(pro.getProperty("redis.port")),
Integer.parseInt(pro.getProperty("redis.timeout")),
pro.getProperty("redis.password"));
} catch (Exception e) {
logger.error("例外錯誤", e);
}
}
/**
* 獲取Jedis實體
*
* @return
*/
public synchronized static Jedis getJedis() {
try {
if (jedisPool != null) {
Jedis resource = jedisPool.getResource();
return resource;
} else {
return null;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
/**
* 釋放jedis資源
*
* @param jedis
*/
public static void returnResource(final Jedis jedis) {
if (jedis != null) {
jedis.close();
}
}
}
測驗
public static void main(String[] args) {
Jedis jedis = RedisUtil.getJedis();
String result = jedis.set("admin", "管理員");
System.out.println("結果:" + result);
//釋放資源
RedisUtil.returnResource(jedis);
}
結果:OK
使用RedisDesktopManager可視化工具查看

其他資料型別如hash(哈希)、list(串列)、set(集合)及zset(有序集合)的增刪改查操作和redis原生指令大同小異,抽取為通用工具類,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/19773.html
標籤:NoSQL
上一篇:Redis系列(三):Redis的持久化機制(RDB、AOF)
下一篇:Redis集群模式
