1. 程式人生 > >java操作redis(一):建立連線以及常用存取值的操作

java操作redis(一):建立連線以及常用存取值的操作

環境:jdk1.7      eclipse: Mars.2 Release (4.5.2)     redis:3.2.8     jedis:2.9.0

首先你需要下載驅動包 下載 jedis.jar,確保下載最新驅動包。
在你的 classpath 中包含該驅動包,本文用到上2.9.0,請自行百度下載。

一.  建立連線並測試

package com.wx.test;

import redis.clients.jedis.Jedis;

public class ConnectTest {
	public static void main(String[] args) {
		//Redis物件
        Jedis jedis =null;
        try {
        	//根據ip和埠號建立連線
			jedis=new Jedis("169.254.130.122",6379);
			//設定密碼
			jedis.auth("test123");
			System.out.println("連線測試:"+jedis.ping());
			//設定 redis 字串資料
			jedis.set("key1", "hello,wellcome to redis world!");
			// 獲取儲存的資料並輸出
			System.out.println("取值:"+ jedis.get("key1"));
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			if(jedis!=null){
				jedis.close();
			}
		}
        
	}
}
執行結果:
連線測試:PONG
取值:hello,wellcome to redis world!
二.  list資料型別的值的存取
package com.wx.test;

import java.util.List;

import redis.clients.jedis.Jedis;

public class RedisListDemo {
	public static void main(String[] args) {
		//Redis物件
        Jedis jedis =null;
        try {
        	//根據ip和埠號建立連線
			jedis=new Jedis("169.254.130.122",6379);
			//設定密碼
			jedis.auth("test123");
			System.out.println("連線測試:"+jedis.ping());
			//先刪除namelist
			jedis.del("nameList");
			//儲存資料到列表中
	        jedis.rpush("nameList", "麻子");
	        jedis.rpush("nameList", "周星星");
	        jedis.rpush("nameList", "jack");
	        // 獲取儲存的資料並輸出
	        List<String> theList = jedis.lrange("nameList", 0 ,-1);
	        for(int i=0; i<theList.size(); i++) {
	            System.out.println("列表項為: "+theList.get(i));
	        }
	        
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			if(jedis!=null){
				jedis.close();
			}
		}
        
	}
}
執行結果:
連線測試:PONG
列表項為: 麻子
列表項為: 周星星
列表項為: jack
三.   列出資料庫裡面所有的key以及key的型別
package com.wx.test;

import java.util.Iterator;
import java.util.Set;

import redis.clients.jedis.Jedis;

public class JedisKeyTest {
	public static void main(String[] args) {
		//Redis物件
        Jedis jedis =null;
        try {
        	//根據ip和埠號建立連線
			jedis=new Jedis("169.254.130.122",6379);
			//設定密碼
			jedis.auth("test123");
			System.out.println("連線測試:"+jedis.ping());
			//選擇資料庫,預設為0,有0-15,一共16個數據庫
			jedis.select(0);
			//獲取所有到key並輸出key到名稱和型別
	        Set<String> keys = jedis.keys("*"); 
	        Iterator<String> it=keys.iterator() ;   
	        while(it.hasNext()){   
	            String key = it.next();   
	            System.out.println("key名稱:"+key+"\t型別:"+jedis.type(key));   
	        }
	        
		} catch (Exception e) {
			e.printStackTrace();
		}finally {
			if(jedis!=null){
				jedis.close();
			}
		}
        
	}
}
執行結果:
連線測試:PONG
key名稱:nameList	型別:list
key名稱:runoobkey	型別:string
key名稱:key1	型別:string