使用Java API在Jedis中實現DAO設計模式

2020-12-08 離開了編程我會死

在本文中,我們將學習Jedis Java客戶端中的DAO設計模式和實現。DAO模式被實現為客戶端應用程式和資料庫之間的一層。客戶端應用程式不必依賴基礎資料庫交互API(低級)。

Redis資料庫中存儲的數據被建模為Domain對象(POJO類),它將僅具有getter和setter方法,客戶端應用程式僅知道域對象和高級API。

先決條件

EclipseJava 8+JunitRedis and Jedis在 Windows 上安裝 Redis

在 Windows 上安裝 Eclipse

創建 Maven 項目

創建 SiteDaoRedisImplTest.java,並將其放入 com.example.demo 包中,代碼如下,

添加 SiteDao.java 到 com.example.demo.dao 包中,代碼如下,

添加 SiteDaoRedisImpl.java 到 com.example.demo.dao 包中,代碼如下,

添加 HostPort.java,KeyHelper.java,MetricUnit.java,RedisSchema.java,TaskKeyManager.java 到 com.example.demo.util 包中,代碼如下,

改寫 pom.xml 文件,內容如下,

運行代碼

相關焦點

  • 重學Java 設計模式:實戰代理模式「模擬mybatis-spring中定義DAO...
    不斷的深究,找到最合適的設計。除了這些優化提升外,還有那麼廣闊的技術體系棧,都可能因為你只是注重CRUD而被忽略;字節碼編程、領域驅動設計架構、代理模式中間件開發、JVM虛擬機實現原理等等。主要解決的是問題是為某些資源的訪問、對象的類的易用操作上提供方便使用的代理服務。而這種設計思想的模式經常會出現在我們的系統中,或者你用到過的組件中,它們都提供給你一種非常簡單易用的方式控制原本你需要編寫很多代碼的進行使用的服務類。
  • 如何優雅的設計 Java 異常
    我們把關注點放在restful的api層(和web中的controller層類似)和service層,研究一下在service中如何拋出異常,然後api層如何進行捕獲並且轉化異常。使用的技術是:spring-boot,jpa(hibernate),mysql,如果對這些技術不是太熟悉,讀者需要自行閱讀相關材料。
  • smart-doc 2.0.1 發布,Java 零註解 API 文檔生成工具
    smart-doc是一款同時支持java restful api和apache dubbo rpc接口文檔生成的工具
  • smart-doc 2.0.0 重磅發布,Java 零註解 API 文檔生成工具
    smart-doc是一款同時支持java restful api和apache dubbo rpc接口文檔生成的工具
  • 重學Java 設計模式:實戰策略模式「模擬多種營銷類型優惠券,折扣...
    因為這裡包括了很多的規則和優惠邏輯,所以我們模擬其中的一個計算優惠的方式,使用策略模式來實現。五、用一坨坨代碼實現這裡我們先使用最粗暴的方式來實現功能對於優惠券的設計最初可能非常簡單,就是一個金額的抵扣,也沒有現在這麼多種類型。所以如果沒有這樣場景的經驗話,往往設計上也是非常簡單的。
  • 重學Java 設計模式:實戰迭代器模式「模擬公司組織架構樹結構關係...
    雖然這個設計模式在我們的實際業務開發中的場景並不多,但卻幾乎每天都要使用jdk為我們提供的list集合遍歷。另外增強的for循環雖然是循環輸出數據,但是他不是迭代器模式。迭代器模式的特點是實現Iterable接口,通過next的方式獲取集合元素,同時具備對元素的刪除等操作。而增強的for循環是不可以的。
  • 設計模式之迭代器模式(Java實現)
    設計模式之迭代器模式(Java實現)迭代器模式(Iterator Pattern) :它提供一種方式訪問一個容器對象的各個元素,而又不需暴露該對象的內部細節迭代器模式是為了解決遍歷容器中的元素而產生的。先看看下面的通用類圖:
  • 如何正確地應用JDBC API設計實現應用系統持久層中的各個DAO組件
    軟體項目實訓及課程設計指導——如何正確地應用JDBC API設計和實現應用系統持久層中的各個DAO組件1、Java 系統平臺中實現資料庫連接技術相關的APIJava 資料庫連接技術(JDBC,Java DataBase Connectivity)是一種將Java
  • Java教程:Mybatis二級緩存的實現
    sqlSession2 去查詢與 sqlSession1 相同的用戶信息, 首先會去緩存中找是否存在數據,如果存在直接從緩存中取出數據。三,如何實現在 SqlMapCong.xml 文件開啟二級緩存<settings><!
  • 開放 API 接口籤名驗證,讓你的接口從此不再裸奔
    通過為每個請求提供一個唯一的標識符,伺服器能夠防止請求被多次使用(記錄所有用過的nonce以阻止它們被二次使用)。然而,對伺服器來說永久存儲所有接收到的nonce的代價是非常大的。可以使用timestamp來優化nonce的存儲。
  • 面試官:Mybatis 使用了哪些設計模式?
    本文轉載自【微信公眾號:java進階架構師,ID:java_jiagoushi】經微信公眾號授權轉載,如需轉載與原文作者聯繫雖然我們都知道有20多個設計模式,但是大多停留在概念層面,真實開發中很少遇到,Mybatis源碼中使用了大量的設計模式,閱讀源碼並觀察設計模式在其中的應用,能夠更深入的理解設計模式。
  • 「JAVA」萬字長篇詳述字節碼對象與反射機制完成動態編程
    Java 反射在Java的開發環境中,運行java文件需要使用:java xx.java 命令,運行java命令後,便會啟動JVM,將字節碼文件加載到JVM中,然後開始運行;當運行使用類字面量,即使用類的class屬性;Class<java.util.Date> clazz1 = java.util.Date.class;2.使用對象的getClass();方法;java.util.Date
  • 你必須掌握的 21 個 Java 核心技術!
    而寫這篇文章的目的是想總結一下自己這麼多年來使用java的一些心得體會,希望可以給大家一些經驗,能讓大家更好學習和使用Java。這次介紹的主要內容是和J2SE相關的部分,另外,會在以後再介紹些J2EE相關的、和Java中各個框架相關的內容。
  • 如何應用策略設計模式分離JDBC資料庫連接中的外部環境信息
    策略設計模式在GOF設計模式的分類中屬於GOF設計模式中的行為型類型的設計模式。如下示圖為體現策略設計模式中的各個類之間關係的UML類圖,依據此UML類圖,可以了解到策略設計模式提供了一種替代面向對象設計方法中的繼承的方法,將繼承改變為組合,而且既保持了繼承的優點(實現代碼重用)但又比繼承更具有靈活性(「算法」獨立,可以任意地擴展)。
  • 設計模式之策略模式(Java實現例子說明)
    設計模式之策略模式小王在和同事正在吹牛時,領導過來了,小王啊,你又在吹牛了?別吹了,幹點正活,下周要去春遊,你給出幾種方案。小王一聽去旅遊,屁顛屁顛地去幹活了。這個其實就是一個設計模式,叫做策略模式。策略模式(Strategy Pattern):定義一組算法,將每個算法封裝起來,並且使他們之間可以互換。策略模式是一個簡單的模式也叫做政策模式。
  • 設計模式之策略模式
    行為型設計模式策略模式一簡介當一個對象有多種行為要執行時,我們可以使用策略模式,讓對象自由選擇執行的行為種類,避免使用if…else if….else if…這種嵌套代碼傳統的代碼是if(cpu){} else if(io){}else if(mem){},通過多個if條件判斷,本例子裡沒有出現if條件,使用策略模式,實現了對象行為的選擇。
  • 如何應用GOF設計模式中的創建型模式實現鬆耦合地創建對象實例
    軟體項目實訓及課程設計指導——如何應用GOF設計模式中的創建型模式實現鬆耦合地創建對象實例1、GOF設計模式中的工廠模式在GOF設計模式的劃分中,把與實現對象的實例化相關的模式稱之為「創建型模式」——而其中的工廠模式為創建型模式中的一種具體實現形式。
  • Mars-java 3.0.0 發布,面向聲明式 API 編程(DAP)的框架
    本次更新帶來了兩個變動 面向聲明式API編程(DAP) 單元測試改動單元測試 取消了抽象方法before,而採用了註解的方式,在單測類上加上MarsTest註解即可面向聲明式API編程(DAP)按照傳統的開發方式,如果要開發一個後端接口,需要分為以下三步 創建controller 創建service 創建dao
  • 設計模式|觀察者模式及典型應用
    >觀察者模式觀察者模式是設計模式中的 「超級模式」,其應用隨處可見,我們以微信公眾號為例。通常在實現時,可以調用具體目標類的attach()方法將自己添加到目標類的集合中或通過detach()方法將自己從目標類的集合中刪除。