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

SpringBoot 集成 Memcached的方法示例

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

Memcached 介紹

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

因?yàn)?Spring Boot 沒(méi)有針對(duì) Memcached 提供對(duì)應(yīng)的組建包,因此需要我們自己來(lái)集成。官方推出的 Java 客戶端 Spymemcached 是一個(gè)比較好的選擇之一。

Spymemcached 介紹

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

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

依賴配置

添加依賴

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è)置配置對(duì)象

創(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") 的意思會(huì)以 memcache.* 為開(kāi)通將對(duì)應(yīng)的配置文件加載到屬性中。

啟動(dòng)初始化 MemcachedClient

我們使用上一節(jié)的內(nèi)容Spring Boot 2 (七):Spring Boot 如何解決項(xiàng)目啟動(dòng)時(shí)初始化資源 ,利用 CommandLineRunner 在項(xiàng)目啟動(dòng)的時(shí)候配置好 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;
 }

}

測(cè)試使用

@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());
 }

}

使用中先測(cè)試插入一個(gè) key 為 testkey ,1000 為過(guò)期時(shí)間單位為 毫秒,最后的 “666666” 為 key 對(duì)應(yīng)的值。

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

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

表明測(cè)試成功。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringSecurity身份認(rèn)證原理解析

    SpringSecurity身份認(rèn)證原理解析

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評(píng)論