Jedis——Redis在java中的使用(單機版)

目錄

Redis簡介

Java中使用Redis服務


Redis簡介

 1、概念:

Redis是開源免費,高性能的key-value數據庫

2、特點/優勢:

Redis支持數據持久化:將內存中的數據保存在磁盤中

Redis支持key-value類型的數據,同時還提供list,set,zset,hash等數據結構的存儲

Redis支持master-slave模式的數據庫備份

性能極高-Redis能讀的速度是110000次/s,寫的速度是81000次/s

Redis的所有操作都是原子性的,單個操作是原子性的,多個操作也支持事務!

Redis還支持publish/subscribe,通知,key過期等特

Jedis簡介

那jedis就是集成了redis的一些命令操作,封裝了redis的java客戶端。提供了連接池管理。

Java中通過jedis使用Redis服務方式一-性能差

1、開始在Java中使用 Redis前,我們需要確保已經安裝了redis服務(可點擊查看:Linux或Windows上安裝了Redis)及Java redis驅動(引入redis的jar包),且你的機器上能正常使用Java。在這裏說下如何引用java redis的驅動

(1)下載redis驅動包:http://repo1.maven.org/maven2/redis/clients/jedis/

(2)如果是Maven工程,則在pom文件中配置

    <!-- Redis客戶端 -->
	<dependency>
		 <groupId>redis.clients</groupId>
		 <artifactId>jedis</artifactId>
		 <version>${jedis.version}</version>
   </dependency>

2、在項目中新建測試類

package cn.e3mall.jedis;

import org.junit.Test;

import redis.clients.jedis.Jedis;

public class JedisTest {
	
	@Test
	public void testJedis() throws Exception{
		//創建一個鏈接Jedis對象,參數:host,port
		Jedis jedis=new Jedis("192.168.25.128",6379);
		//也可連接本地的redis服務:Jedis jedis = new Jedis("localhost");
		//直接使用jedis操作redis,所有jedis的命令都對應要給方法
		jedis.set("test123","my first jedis test");
		String string=jedis.get("test123");
		System.out.println(string);
		//關閉鏈接
		jedis.close();
	}
}

3、運行測試類

    結果展示:

     

   這個時候要思考下,爲什麼上面這種方式性能差?怎麼改善?原因是,每次都要new一個jedis對象,jedis和jedispool的關係就像數據庫連接和數據庫連接池的關係!

 Java中通過JedisPool獲取Jedis對象使用Redis服務

package cn.e3mall.jedis;

import org.junit.Test;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;

public class JedisTest {
		
	@Test
	public void testJedisPool() throws Exception{
		//創建一個連接池對象,兩個參數host.port
		JedisPool jedisPool=new JedisPool("192.168.25.128",6379);
		//從連接池獲得一個鏈接,就是一個jedis對象
		Jedis jedis=jedisPool.getResource();
		//使用jedis操作redis
		String string=jedis.get("test123");
		System.out.println(string);
		//關閉鏈接,每次使用完畢後關閉鏈接,連接池回收資源
		jedis.close();
		//關閉連接池
		jedisPool.close();
	}
}

 小結

       在java中使用的入門demo已經完成,第二種比第一種好些,但依舊不是最優雅的!java中一般不直接使用jedis,而是在其上在封裝一層,作爲業務的使用。如果用spring的話,可以看看spring 封裝的 redis Spring Data Redis。如果對你有幫助的話,記得給小編點個贊哦?!

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