目錄
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。如果對你有幫助的話,記得給小編點個贊哦?!