引入:redistemplate物件預設序列化方式為byte陣列,封裝好的方法不用我們去序列化,直接使用即可。
概述:redistemplate是sprig提供的redis資料庫訪問物件。可對redis資料庫操作。
由來:redis資料庫是可基於記憶體儲存的,效率高。訪問量較高的資料不能頻繁的對資料庫進行dml(會對資料庫的資料造成阻塞,降低速度,降低客戶體驗度),所以放入redis中的資料基本是唯讀資料。
實現:專案加入快取技術,業務層首先查詢快取(redis資料庫),存在直接返回。查不到訪問關係型資料庫,在返回的同時,把資料儲存到快取中乙份,供後續查詢使用。
實現:1.預設為陣列序列化方式
1.1.建立專案
1.2.新增依賴jedis junit spring-data-redis(spring對redis操作的封裝)
1.3配置表示操作redis的xml,cache.xml
redis.clients
jedis
2.9.0
junit
junit
4.11
test
org.springframework.data
spring-data-redis
1.8.13.release
文件約束
<?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中,這種實現就是非...