Redis學習之java程式碼實現(Jedis)
阿新 • • 發佈:2019-02-20
前面兩篇說過redis的安裝使用和密碼設定後,現在來看看怎麼用java程式碼連線伺服器,並使用redis。
首先專案中需要有redis的驅動包,下載Jedis.jar。
下載最新驅動包,放到專案的lib目錄下,確保專案包含該驅動包。
如果是maven專案,可以直接在pom.xml檔案中引入如下配置:
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.5.2</version> </dependency>
連線Redis服務:
public static void main(String[] args){
//連線本地的Redis服務
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("連線成功!");
//密碼驗證
jedis.auth("123456");
//檢視服務是否執行
System.out.println("服務是否執行:" + jedis.ping());
}
輸出結果如下,連線成功。
連線成功!
服務是否執行:PONG
String(字串) 型別例項
public static void main(String[] args){ //連線本地的Redis服務 Jedis jedis = new Jedis("127.0.0.1", 6379); System.out.println("連線成功!"); //密碼驗證 jedis.auth("123456"); //設定字串資料 jedis.set("myKey", "testStr"); //通過key輸出快取內容 System.out.println("輸出內容為:" + jedis.get("myKey")); }
輸出結果:
連線成功!
輸出內容為:testStr
LIst(列表)型別例項
public static void main(String[] args){ //連線本地的Redis服務 Jedis jedis = new Jedis("127.0.0.1", 6379); System.out.println("連線成功!"); //密碼驗證 jedis.auth("123456"); //儲存List快取資料 jedis.lpush("test-list", "Java"); jedis.lpush("test-list", "PHP"); jedis.lpush("test-list", "C++"); //獲取list快取資料 List<String> listCache = jedis.lrange("test-list", 0, 3); for (int i = 0; i < listCache.size(); i++) { System.out.println("快取輸出:" + listCache.get(i)); } }
輸出結果:
連線成功!
快取輸出:C++
快取輸出:PHP
快取輸出:Java
Hash(雜湊)型別例項
public static void main(String[] args){
//連線本地的Redis服務
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("連線成功!");
//密碼驗證
jedis.auth("123456");
//儲存Hash型別快取資料
Map<String, String> hashMap = new HashMap<String, String>();
hashMap.put("xiaoming", "man");
hashMap.put("xiaohua", "women");
hashMap.put("xiaoma", "man");
jedis.hmset("test-hash", hashMap);
//獲取hash型別快取資料
Map<String, String> hashData = jedis.hgetAll("test-hash");
System.out.println("獲取hash快取資料(xiaoming):"+hashData.get("xiaoming"));
System.out.println("獲取hash快取資料(xiaohua):"+hashData.get("xiaohua"));
System.out.println("獲取hash快取資料(xiaoma):"+hashData.get("xiaoma"));
}
輸出結果:
連線成功!
獲取hash快取資料(xiaoming):man
獲取hash快取資料(xiaohua):women
獲取hash快取資料(xiaoma):man
Set(無序,不重複集合) 型別例項
public static void main(String[] args){
//連線本地的Redis服務
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("連線成功!");
//密碼驗證
jedis.auth("123456");
//儲存Set快取資料
jedis.sadd("test-set", "Java");
jedis.sadd("test-set", "PHP");
jedis.sadd("test-set", "C++");
jedis.sadd("test-set", "PHP");
//獲取set快取資料
Set<String> setCache = jedis.smembers("test-set");
for(String setStr : setCache){
System.out.println("Set集合快取輸出:" + setStr);
}
}
輸出結果:
連線成功!
Set集合快取輸出:PHP
Set集合快取輸出:C++
Set集合快取輸出:Java
ZSet(有序,不重複集合) 型別例項
public static void main(String[] args){
//連線本地的Redis服務
Jedis jedis = new Jedis("127.0.0.1", 6379);
System.out.println("連線成功!");
//密碼驗證
jedis.auth("123456");
//儲存zset型別快取資料
jedis.zadd("test-zset",1,"Java");
jedis.zadd("test-zset",3,"C++");
jedis.zadd("test-zset",2,"PHP");
jedis.zadd("test-zset",2,"PHP");
//獲取zset快取資料型別
Set<String> setCache = jedis.zrange("test-zset", 0, 5);
for(String setStr : setCache){
System.out.println("獲取zset快取資料:" + setStr);
}
}
輸出結果:
連線成功!
獲取zset快取資料Java
獲取zset快取資料PHP
獲取zset快取資料C++
注:zset每個儲存元素都會關聯一個double型別的數值,redis就是根據這個數值進行排序的,數值可以重複,但是儲存元素不可以重複。