java中redis緩存技術的使用

關於Redis的簡單介紹

REmote DIctionary Server(redis)緩存技術是一個高性能的key-value存儲系統。

它通常被稱爲數據結構服務器,因爲值(value)可以是字符串(String),哈希(Hash),列表(List),集合(Sets)和有序集合(sorted sets)等類型。

Redis與其他key-value緩存產品相比有以下優點:

1.Redis支持數據的持久化,可以將內存中的數據保存到磁盤中,重啓的時候可以再次加載使用。

2.Redis不僅僅支持簡單的key-value類型的數據,還提供hash,list,set,zset等數據結構的存儲。

3.Redis支持數據的備份。

java中redis緩存技術的使用

首先,需要在GitHub上下載redisGitHub下載地址,下載解壓後,即可使用

雙擊redis-server.exe文件,開啓redis服務,再雙擊redis-cli.exe文件,可以在redis的命令臺中來使用redis

OK,以上是在命令臺中使用redis,那麼如何在MyEclipse中的java程序中使用呢?

首先,需要下載java操作redis的jar庫:jedis.jar和common-pool.jar,版本大家自行選擇,附下載地址jedis下載

下載完畢之後,將jar包導入到需要使用的工程中,就可以調用jar包中的API來操作redis啦

示例程序如下:

public class Test1 {
	static Jedis jedis;
	public static void main(String[] args) {
		System.out.println("test ok");
		
		//連接本地的redis服務
		jedis=new Jedis("127.0.0.1",6379);
        System.out.println("連接成功");
		//查看服務是否運行
		System.out.println(jedis.ping());
		//刪除Redis的緩存
		jedis.flushAll();
		
		//字符串
		jedis.set("key", "Hello World");//set
		String v=jedis.get("key");//get
		System.out.println(v);
		
		//set
		System.out.println("測試set賦值");
		jedis.sadd("set", "趙成龍","趙雙龍","趙豔會");//set賦值(無序唯一)
//		jedis.del("set");//刪除指定的鍵
//		System.out.println(jedis.exists("set"));//判斷指定的鍵是否存在
//		System.out.println(jedis.type("key"));//以字符串形式返回存儲在指定鍵的值的數據類型
//		System.out.println(jedis.scard("set"));//返回set中元素的數量
		for(String s:jedis.smembers("set")){
			System.out.println(s);
		}
		//sorted set
		System.out.println("測試有序集合");
		jedis.zadd("math", 99, "Long");
		jedis.zadd("math", 89, "hui");
		jedis.zadd("math", 88, "xuan");
		Set<String> set1=jedis.zrange("math", 0, 3);
		for(String s:set1){
			System.out.println(s);
		}
		
		//hash
		System.out.println("--------------------------------------");
		System.out.println("給hash指定的field設置指定的值");
		jedis.hset("has", "name", "趙成龍");
		jedis.hset("has", "sex", "男");
		jedis.hset("has", "born", "1995-10-16");
		jedis.hset("has", "signature", "得不到的永遠在騷動,被偏愛的都有恃無恐");
		//Remove the specified field from an hash stored at key.
		jedis.hdel("has", "born");
		//If key holds a hash, retrieve the value associated to the specified field.
		jedis.hget("has", "signature");
		Map<String,String> map=jedis.hgetAll("has");
		Set<String> set=map.keySet();
		for(String s:set){
			System.out.println(s+"的值爲"+map.get(s));
		}
	}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章