Spring對Redis的支援

2021-09-24 11:30:07 字數 1611 閱讀 7038

引入:redistemplate物件預設序列化方式為byte陣列,封裝好的方法不用我們去序列化,直接使用即可。

概述:redistemplate是sprig提供的redis資料庫訪問物件。可對redis資料庫操作。

由來:redis資料庫是可基於記憶體儲存的,效率高。訪問量較高的資料不能頻繁的對資料庫進行dml(會對資料庫的資料造成阻塞,降低速度,降低客戶體驗度),所以放入redis中的資料基本是唯讀資料。

實現:專案加入快取技術,業務層首先查詢快取(redis資料庫),存在直接返回。查不到訪問關係型資料庫,在返回的同時,把資料儲存到快取中乙份,供後續查詢使用。

實現:1.預設為陣列序列化方式

1.1.建立專案

1.2.新增依賴jedis junit spring-data-redis(spring對redis操作的封裝)

redis.clients

jedis

2.9.0

junit

junit

4.11

test

org.springframework.data

spring-data-redis

1.8.13.release

1.3配置表示操作redis的xml,cache.xml

文件約束

<?xml version="1.0" encoding="utf-8"?>

建立redistemplate物件

例項化connectionfactory物件 【ip 埠 密碼】

【配置密碼則寫】

1.4.建立實體類/介面/實現類等

1.5service實現類定義redistemplate物件並注入

private redistemplateredistemplate;

定義方法,通過指定的ke'y查詢資料,先查redis,結果決定返回與否

public product loadproductbyid(integer id) {

bound繫結某一種資料型別,redis共5種 string/list/hash/set/sortedset 鏈式程式設計直接get獲取指定的key對應的value返回物件

object object =redistemplate.boundvalueops(id.tostring()).get();

判斷redis有無,不為空直接返回,先判斷不為空在向下轉型。

if(object!=null)

return (product)object;

結果,獲取 查詢到的資料和前台查詢傳過來的保持一致的key,之後通過key把該信

息新增到redis資料庫中。

redistemplate.boundvalueops(id.tostring()).set(product);

將查到資訊返回

return product;

1.6測試

> productserivce=(productservice) ac.getbean("productserviceimpl");

> service物件呼叫方法。

spring對rest的支援

隨著spring的發展壯大,springmvc逐漸代替struts2,springmvc相對於struts2有哪些明顯優勢那,我大概淺 下。最大的有事應該是rest。springmvc的每個controller中每乙個method都可以定位到每種請求方式。即 get post put delete ...

spring對JDBC的支援

spring提供了對dao層統一異常的處理 spring提供了一些抽象類來支援對dao的編寫 減少了對jdbc編寫的 量 spring用一種方式使用各種資料訪問技術 如 hibernate jdbc mybatis等 需要相關jar包 spring core 3.2.8.release.jar sp...

Spring對EJB的支援

ejb 乙個最大的缺點就是要想脫離 ejb容器而單獨測試 ejb元件非常困難。通過 spring 可以解決這個問題,將業務邏輯寫在 pojo 中,然後,通過 ejb委託給 pojo 來執行操作。在 spring 中,由於不必將如何定位和建立 pojo 的實現的任何邏輯嵌入到 ejb中,這種實現就是非...