深入淺出分布式快取的通用方法

2021-08-20 03:51:24 字數 1613 閱讀 6258

各種分布式快取如redis,都提供了不同語言的客戶端api,我們可以使用這些api直接訪問快取,也可以通過註解等方法使用快取。

1、程式設計法

程式設計法指通過程式設計的方式直接訪問快取,偽**如下:

1

string

userkey = ...;

2user user = (user)cacheservice.getobject(userkey)3if

(user == null) 8

return

user;

這種方法實現起來簡單,但是每次使用時都得敲入類似上面這樣的一段**,很繁瑣。可以將這部分內容抽象成乙個框架,請參考下文。

2、spring注入法

spring-data-redis專案實現了注入法,通過bean注入就可以直接使用spring的快取模板提供的方法。

我有幾張阿里雲幸運券分享給你,用券購買或者公升級阿里雲相應產品會有特惠驚喜哦!把想要買的產品的幸運券都領走吧!快下手,馬上就要搶光了。

首先,引入spring-data-redis包:

1

<

dependencies

>

2<

dependency

>

3<

groupid

>

org.springframework.data

groupid

>

4<

artifactid

>

spring-data-redis

artifactid

>

5<

version

>

2.0.2.release

version

>

6dependency

>

7dependencies

>

然後在spring環境下進行如下配置:

1

"jedisconnfactory"

2 class

="org.springframework.data.redis.connection.jedis.jedisconnection factory"

3 p:use-pool="true"

/>45

"redistemplate"

6 class

="org.springframework.data.redis.core.redistemplate"

7 p:connection-factory-ref

="jedisconnfactory"

/>

再通過spring環境注入使用的服務中:

1

public

class

userlinkservice14}

3、註解法

spring-data-redis專案實現了註解法,通過註解就可以在乙個方法內部使用快取,快取操作都是透明的,我們不再需要重複寫上面的一段**。

深入淺出模板方法模式

一 引子這是乙個很簡單的模式,卻被非常廣泛的使用。之所以簡單是因為在這個模式中僅僅使用到了繼承關係。繼承關係由於自身的缺陷,被專家們扣上了 罪惡 的帽子。使用委派關係代替繼承關係 盡量使用介面實現而不是抽象類繼承 等等專家警告,讓我們這些菜鳥對繼承 另眼相看 其實,繼承還是有很多自身的優點所在。只是...

Nginx 的深入淺出

1.什麼是nginx nginx是一款高效能的http 伺服器 反向 伺服器及電子郵件 imap pop3 伺服器。由俄羅斯的程式設計師igor sysoev所開發,官方測試nginx能夠支支撐5萬併發鏈結,並且cpu 記憶體等資源消耗卻非常低,執行非常穩定。2.nginx的應用場景 3.nginx...

模板方法模式 深入淺出(二)

模仿方法模式目錄1 概述 2 結構與分析 3 拓展 4 模式總結 鉤子方法給子類留了 後門 可以通過在子類中實現的鉤子方法對父類方法的執行進行約束,實現子類對父類行為的反向控制。體現靈活性 上篇部落格續集,情侶之間約約會,看看電影,喝喝咖啡,調情調情還是不錯的。說到喝咖啡,這不來到星巴克咖啡店 我們...