1. 程式人生 > >Spring Data Redis簡介以及專案Demo,RedisTemplate和 Serializer詳解

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            

相關推薦

Spring Data Redis簡介以及專案DemoRedisTemplate Serializer

一、概念簡介: Redis:   Redis是一款開源的Key-Value資料庫,執行在記憶體中,由ANSI C編寫,詳細的資訊在Redis官網上面有,因為我自己通過google等各種渠道去學習Redis,走了不少彎路,所以總結一條我認為不錯的學習路徑給大

Redis系列--7、RedisTemplate Serializer

redistemplate serializer詳解<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"> <property name="connectionF

shiro+cas+spring-data-redis實現多系統單點登入分散式專案的session同步

CSDN開通很久了,但是一直沒寫東西,2018年了,這是我CSDN的第一篇文章,歡迎各位評論探討和指點。   一、背景: 現在公司的業務系統要做多臺分散式叢集,由於是web專案,要做session同步,想到的方案是用目前火熱的redis資料庫儲存session,還有業

JDK的Proxy技術實現AOPInvocationHandlerProxy——Spring AOP(三)

上一章已經講到了想要完成AOP的設計原理以及要實現AOP功能,得需要使用代理模式: 本章就介紹一個實現動態代理的兩種方式之一——JDK中的Proxy技術 AOP實現原理(使用JDK中的Proxy技術實現AOP功能,InvocationHandler和Proxy(Class)詳解

web開發(三) 會話機制CookieSession

response 客戶端請求 非正常關閉 特殊情況 刪除 session 協議 XML 容易 在網上看見一篇不錯的文章,寫的詳細。 以下內容引用那篇博文。轉載於《http://www.cnblogs.com/whgk/p/6422391.html》,在此僅供學習參考之用。

Java中ListSetMap及其區別

內部 特殊 set contain 快速查找 簡單 rar dset 維護 Java中的集合包括三大類,它們是Set(集)、List(列表)和Map(映射),它們都處於java.util包中,Set、List和Map都是接口,它們有各自的實現類。Set的實現類主要有Hash

啟動模式BOOT0BOOT1

在畫STM32的電路圖的時候,關於STM32的啟動方式糾結了一下,現有的參考設計都是在STM32的啟動選擇引腳BOOT0和BOOT1上使用了跳帽,用以人工選擇STM32的啟動方式,但是在實際應用中這種設計就顯得冗餘,所以這裡順帶研究了一下STM32的啟動方式。   STM32

callapplybind

本來這些內容是寫在this指向那篇部落格中的,但發現面試筆試中這個知識點出現的機率很高,所單獨拿出來講解一下。 一.call和apply call和apply其實是同一個東西,區別只有引數不同,call是apply的語法糖,所以就放在一起說了,這兩個方法都是定義在函式物件

JavaEE基礎(04):會話跟蹤技術SessionCookie

本文原始碼:GitHub·點這裡 || GitEE·點這裡 一、會話跟蹤 1、場景描述 比如登入某個購物網站,身份識別成功後,在網站下單,支付 等操作,這些操作中當前登入使用者資訊必須是共享的,這樣這些操作結果才能和登入使用者做關聯。 2、概念簡介 可以把會話理解為客戶端與伺服器之間的一次互動,在一次互動

MySQL基礎篇(04):儲存過程檢視用法特性

本文原始碼:GitHub·點這裡 || GitEE·點這裡 一、儲存過程 1、概念簡介 儲存程式是被儲存在伺服器中的組合SQL語句,經編譯建立並儲存在資料庫中,使用者可通過儲存過程的名字呼叫執行。儲存過程核心思想就是資料庫SQL語言層面的封裝與重用性。使用儲存過程可以較少應用系統的業務複雜性,但是會增加資

redis的scan命令代替keys命令以及spring-data-redis中遇到的問題

有一個 arr 問題 public 條件 列表 position cannot clas 摘要 本文主要是介紹使用redis scan命令遇到的一些問題總結,scan命令本身沒有什麽問題,主要是spring-data-redis的問題。 需求 需要遍歷redis中key,找

spring+redis的整合使用spring-data-redis來整合

1、參考:https://www.cnblogs.com/qlqwjy/p/8562703.html  2、首先建立一個maven專案。然後加入依賴的jar包就行了。我加入的jar包很多,反正加入了也沒啥壞的影響。 1 <project xmlns="http://maven.a

spring data redis 專案使用問題彙總

使用spring data redis已經很長一段時間了,在專案使用過程中還是犯了一些常見的錯誤,現在總結一下,避免自己以後再犯相同的錯誤。 1. expireAt() 設定超時時間錯誤 以前在專案中主要使用的expire()這個設定key超時時間的方法,在最近的專案中,想讓某個ke

Jeesite增加spring-data-redis快取功能以及相關配置

由於經常使用了Jeesite來開發專案,所以針對Jeesite使用的相關技術架構還是比較瞭解的,由於Jeesite有一定的侷限性,所以在平常工作中優化了他的一些程式碼。這次主要優化了兩點,簡單說明如下: 1.Jeesite專案以前使用Ehcache來儲存Session,

使用spring-data-redis進行對redis的操作封裝的一些操作方法

   這個算是工作筆記吧,因為是我的實際工作內容    spring-data-redis api地址  http://docs.spring.io/spring-data/redis/docs/current/api/   依賴maven包(當前spring-data-

spring data redis pubsub demo

建立監聽器 package com.ssyouxia.listener; /**

Spring整合Redis(spring-data-redis)

nds 獲取 可能 div 普通 工具 long red 等待 歷經幾天看了大量的博客資料,差不多算是搞定了,目前只是針對單個數據源,集群暫時沒研究 maven依賴 <properties> <!-- redis 版本 --> &l

Spring集成Redis方案(spring-data-redis)(基於Jedis的單機模式)(待實踐)

packaging 基於 .cn @override time Coding 很好 -o -i 繼上一篇文章http://www.cnblogs.com/EasonJim/p/7625738.html中提到的幾款客戶端,它們基本都能和Spring集成。 下面介紹的是基於S

使用Spring Data Redis操作Redis(單機版)

nec one com list() 研究 enc keys wire 設置ip Jedis是一款Java連接Redis的客戶端,Spring基於Jedis進行了封裝,提供了簡潔的操作Redis的方法。那就是Spring Data Redis。其實後來研究發現,Spring

Spring Boot + spring-data-redis

調用 ons cor spring edi start ota struct out Redis Redis是緩存, 消息隊列, 多種類型的key-value存儲服務. Spring Boot Spring Boot為Lettcue和Jedis客戶端提供自動註入配置