Spring Data Redis簡介以及專案Demo,RedisTemplate和 Serializer詳解
一、概念簡介:
Redis:
Redis是一款開源的Key-Value資料庫,執行在記憶體中,由ANSI C編寫,詳細的資訊在Redis官網上面有,因為我自己通過google等各種渠道去學習Redis,走了不少彎路,所以總結一條我認為不錯的學習路徑給大家:
1.《The Little Redis Book》
是一本開源PDF,只有29頁的英文文件,看完後對Redis的基本概念應該差不多熟悉了,剩下的可以去Redis官網熟悉相關的命令。
2.《Redis設計與實現》
如果想繼續深入,推薦這本書,現在已經出到第二版了,有紙質版書籍可以購買。上面詳細介紹了Redis的一些設計理念,並且給出了一些內部實現方式,和資料結構的C語言定義,有一些基本C語言基礎,就能看明白。
3.Redis 2.6原始碼:
《Redis設計與實現》的作者釋出在Github上的一個開源專案,有作者詳細的註釋。
Jedis:
Jedis是Redis官方推出的一款面向Java的客戶端,提供了很多介面供Java語言呼叫。可以在Redis官網下載,當然還有一些開源愛好者提供的客戶端,如Jredis、SRP等等,推薦使用Jedis。
Spring Data Redis
SDR是Spring官方推出,可以算是Spring框架整合Redis操作的一個子框架,封裝了Redis的很多命令,可以很方便的使用Spring操作Redis資料庫,Spring對很多工具都提供了類似的整合,如Spring Data MongDB…
這三個究竟有什麼區別呢?可以簡單的這麼理解,Redis是用ANSI C寫的一個基於記憶體的Key-Value資料庫,而Jedis是Redis官方推出的面向Java的Client,提供了很多介面和方法,可以讓Java操作使用Redis,而Spring Data Redis是對Jedis進行了封裝,集成了Jedis的一些命令和方法,可以與Spring整合。在後面的配置檔案(redis-context.xml)中可以看到,Spring是通過Jedis類來初始化connectionFactory的。
二、Spring Data Redis Demo
專案目錄:
Pom.xml配置:
Spring jar因為比較多,就不貼出來了,讀者可以下載後面的專案原始碼檢視詳細配置,其實pom.xml可以精簡,並非一定需要寫的這麼細,我之所以這麼寫,是為了看得更清楚。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
1
<!-- config junit jar -->
2
<dependency>
3
<groupId>junit</groupId>
4
<artifactId>junit</artifactId>
5
<version> 4.8 . 2 </version>
6
<scope>test</scope>
7
</dependency>
8
<!-- config redis data and client jar -->
9
<dependency>
10
<groupId>org.springframework.data</groupId>
11
<artifactId>spring-data-redis</artifactId>
12
<version> 1.0 . 2 .RELEASE</version>
13
</dependency>
14
<dependency>
15
|