欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot 集成 Memcached的方法示例

 更新時間:2019年05月13日 09:15:51   作者:Java_老男孩  
這篇文章主要介紹了SpringBoot 集成 Memcached的方法示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

Memcached 介紹

Memcached 是一個高性能的分布式內(nèi)存對象緩存系統(tǒng),用于動態(tài)Web應用以減輕數(shù)據(jù)庫負載。它通過在內(nèi)存中緩存數(shù)據(jù)和對象來減少讀取數(shù)據(jù)庫的次數(shù),從而提高動態(tài)、數(shù)據(jù)庫驅(qū)動網(wǎng)站的速度。Memcached基于一個存儲鍵/值對的hashmap。其守護進程(daemon )是用C寫的,但是客戶端可以用任何語言來編寫,并通過memcached協(xié)議與守護進程通信。

因為 Spring Boot 沒有針對 Memcached 提供對應的組建包,因此需要我們自己來集成。官方推出的 Java 客戶端 Spymemcached 是一個比較好的選擇之一。

Spymemcached 介紹

Spymemcached 最早由 Dustin Sallings 開發(fā),Dustin 后來和別人一起創(chuàng)辦了 Couchbase (原NorthScale),職位為首席架構(gòu)師。2014 加入 Google。

Spymemcached 是一個采用 Java 開發(fā)的異步、單線程的 Memcached 客戶端, 使用 NIO 實現(xiàn)。Spymemcached 是 Memcached 的一個流行的 Java client 庫,性能表現(xiàn)出色,廣泛應用于 Java + Memcached 項目中。

依賴配置

添加依賴

pomx 包中添加 spymemcached 的引用

<dependency>
 <groupId>net.spy</groupId>
 <artifactId>spymemcached</artifactId>
 <version>2.12.2</version>
</dependency>

添加配置

memcache.ip=192.168.0.161
memcache.port=11211

分別配置 memcache 的 Ip 地址和 端口。

設(shè)置配置對象

創(chuàng)建 MemcacheSource 接收配置信息

@Component
@ConfigurationProperties(prefix = "memcache")
public class MemcacheSource {

 private String ip;

 private int port;

 public String getIp() {
  return ip;
 }

 public void setIp(String ip) {
  this.ip = ip;
 }

 public int getPort() {
  return port;
 }

 public void setPort(int port) {
  this.port = port;
 }
}

@ConfigurationProperties(prefix = "memcache") 的意思會以 memcache.* 為開通將對應的配置文件加載到屬性中。

啟動初始化 MemcachedClient

我們使用上一節(jié)的內(nèi)容Spring Boot 2 (七):Spring Boot 如何解決項目啟動時初始化資源 ,利用 CommandLineRunner 在項目啟動的時候配置好 MemcachedClient 。

@Component
public class MemcachedRunner implements CommandLineRunner {
 protected Logger logger = LoggerFactory.getLogger(this.getClass());

 @Resource
 private MemcacheSource memcacheSource;

 private MemcachedClient client = null;

 @Override
 public void run(String... args) throws Exception {
  try {
   client = new MemcachedClient(new InetSocketAddress(memcacheSource.getIp(),memcacheSource.getPort()));
  } catch (IOException e) {
   logger.error("inint MemcachedClient failed ",e);
  }
 }

 public MemcachedClient getClient() {
  return client;
 }

}

測試使用

@RunWith(SpringRunner.class)
@SpringBootTest
public class RepositoryTests {

 @Resource
 private MemcachedRunner memcachedRunner;

 @Test
 public void testSetGet() {
 MemcachedClient memcachedClient = memcachedRunner.getClient();
 memcachedClient.set("testkey",1000,"666666");
 System.out.println("*********** "+memcachedClient.get("testkey").toString());
 }

}

使用中先測試插入一個 key 為 testkey ,1000 為過期時間單位為 毫秒,最后的 “666666” 為 key 對應的值。

執(zhí)行測試用例 testSetGet ,控制臺輸出內(nèi)容:

***********  666666

表明測試成功。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:

相關(guān)文章

  • SpringSecurity身份認證原理解析

    SpringSecurity身份認證原理解析

    這篇文章主要介紹了SpringSecurity身份認證原理解析,身份認證時用戶名和密碼被過濾器獲取到,封裝成 Authentication ,通常情況下是 UsernamePasswordAuthenticationToken 這個實現(xiàn)類,需要的朋友可以參考下
    2023-09-09
  • Spring Data Jpa+SpringMVC+Jquery.pagination.js實現(xiàn)分頁示例

    Spring Data Jpa+SpringMVC+Jquery.pagination.js實現(xiàn)分頁示例

    本文介紹了Spring Data Jpa+SpringMVC+Jquery.pagination.js實現(xiàn)分頁示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • emoji表情與unicode編碼互轉(zhuǎn)的實現(xiàn)(JS,JAVA,C#)

    emoji表情與unicode編碼互轉(zhuǎn)的實現(xiàn)(JS,JAVA,C#)

    這篇文章主要介紹了emoji表情與unicode編碼互轉(zhuǎn)的實現(xiàn)(JS,JAVA,C#),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Java實現(xiàn)帶頭結(jié)點的單鏈表

    Java實現(xiàn)帶頭結(jié)點的單鏈表

    這篇文章主要為大家詳細介紹了Java實現(xiàn)帶頭結(jié)點的單鏈表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • spring boot @PathVariable傳遞帶反斜杠參數(shù) / 的處理

    spring boot @PathVariable傳遞帶反斜杠參數(shù) / 的處理

    這篇文章主要介紹了spring boot @PathVariable傳遞帶反斜杠參數(shù) / 的處理操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • SpringBoot yaml語法與數(shù)據(jù)讀取操作詳解

    SpringBoot yaml語法與數(shù)據(jù)讀取操作詳解

    YAML 是 “YAML Ain’t Markup Language”(YAML 不是一種標記語言)的遞歸縮寫。在開發(fā)的這種語言時,YAML 的意思其實是:“Yet Another Markup Language”(仍是一種標記語言),本文給大家介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • Java使用Redisson分布式鎖實現(xiàn)原理

    Java使用Redisson分布式鎖實現(xiàn)原理

    Redisson分布式鎖 之前的基于注解的鎖有一種鎖是基本redis的分布式鎖,這篇文章主要介紹了Java使用Redisson分布式鎖實現(xiàn)原理,非常具有實用價值,需要的朋友可以參考下
    2018-10-10
  • 如何有效管理JVM中的垃圾?

    如何有效管理JVM中的垃圾?

    今天給大家?guī)淼氖顷P(guān)于Java虛擬機的相關(guān)知識,文章圍繞著如何有效管理JVM中的垃圾展開,文中有非常詳細的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • Sentinel熱點key限流的實現(xiàn)詳解

    Sentinel熱點key限流的實現(xiàn)詳解

    這篇文章主要介紹了Sentinel熱點key限流的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-08-08
  • C#創(chuàng)建Web應用程序代碼實例

    C#創(chuàng)建Web應用程序代碼實例

    本文主要通過實例代碼介紹了C#創(chuàng)建Web應用程序,需要的朋友可以參考下
    2017-04-04

最新評論