Spring Boot 集成 Memcached

Spring Boot进阶(67):高性能缓存!使用Spring Boot轻松集成Memcached。 高性能缓存!使用Spring Boot轻松集成Memcached,一文带你搞定它。 阅读详情

Memcached 介绍

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

因为 Spring Boot 没有针对 Memcached 提供对应的组建包,因此需要我们自己来集成。官方推出的 Java 客户端 Spymemcached 是一个比较好的选择之一。

Spymemcached 介绍

Spymemcached 最早由 Dustin Sallings 开发,Dustin 后来和别人一起创办了 Couchbase (原NorthScale),职位为首席架构师。2014 加入 Google。

Spymemcached 是一个采用 Java 开发的异步、单线程的 Memcached 客户端, 使用 NIO 实现。Spymemcached 是 Memcached 的一个流行的 Java client 库,性能表现出色,广泛应用于 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 地址和 端口。

设置配置对象

创建 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

@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 对应的值。

执行测试用例 testSetGet ,控制台输出内容:

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

表明测试成功。

添加我的微信号 neteasestudy 即可免费获取Java架构学习资料哦!
欢迎加入我的微信群和大家一起讨论专研技术!群内技术点有里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatisNetty,Redis,Kfka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料,以及不定期的内推BAT企业!希望大家共同努力,构建一个自己的人脉交流圈!
 

JAVA:Spring Boot 集成 Memcached 实现高性能缓存 本文介绍了如何在Spring Boot项目中集成Memcached缓存系统。主要内容包括:环境准备(JDK、Spring Boot版本要求及Memcached安装配置),使用spymemcached客户端库的Maven依赖配置,通过配置类初始化MemcachedClient,封装缓存工具类实现基本操作(set/get/delete),并提供了测试Controller验证功能。还展示了如何通过REST接口进行缓存读写操作,以及进阶的Spring Cache注解集成方案。 阅读详情

相关推荐

Spring与memcached整合

NULL 博文链接:https://rainyear.iteye.com/blog/1166036

【Memcached】springBoot 集成 memcached 两万字长文带你认识memcached

memcached原理及安装,springboot集成memcached

Hanson的博客 1748

树莓派4B安装 ubuntu20.04 & VNC远程桌面 & 安装ROS noetic

树莓派4B安装ubuntu20.04 & VNC远程桌面1、安装ubuntu方式1:下载Imager文件。方式2:下载镜像文件。2、查询树莓派 IP 地址3、使用ssh远程登录树莓派4、更新源地址5、更新6、安装桌面环境7、允许root登陆8、登陆远程桌面9、设置中文 1、安装ubuntu 方式1:下载Imager文件。...

weixin_44415639的博客 2万+

springboot快速整合Memcached缓存技术

memcached是一套分布式的快取系统,与redis相似,当初是Danga Interactive为了LiveJournal所发展的,但被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权协议发布。它通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用速度,提高扩展性。Memcached的API使用32位元的循环冗杂校验计算键值后,将资料分散在不同机器上。当表格慢了以后,接下来新增的资料会以LRU机制替换掉。

一个菜鸡的博客 425

不用加速器!Google Earth Pro登录失败自救手册:从服务器连接到地图加载的完整排错流程

本文详细解析了Google Earth Pro登录失败的常见问题及解决方案,包括服务器连接失败、地图加载异常等。通过基础排查、内置修复工具使用和高级配置调整,帮助用户无需加速器即可解决启动问题、黑屏和转圈圈等困扰,提升软件使用体验。

weixin_29227425的博客 481

Linux云服务器上搭建《僵尸毁灭工程》私服全流程指南(避坑版)

本文详细介绍了在Linux云服务器上搭建《僵尸毁灭工程》私服的全流程指南,包括环境准备、SteamCMD安装、游戏服务器部署、内存优化配置及高级调优技巧。特别针对常见问题提供解决方案,帮助玩家快速搭建稳定的私服环境。

solidity8miner的博客 599

Spring Boot 集成 Memcached:从基础到高级优化的实战指南

Memcached 最初由 LiveJournal 为解决高并发场景下的数据库压力问题而开发。它通过将数据存储在内存中,极大地提高了数据的读取速度,同时支持分布式架构,能够通过多台服务器组成集群,从而扩展存储容量和提升可用性。高性能:数据存储在内存中,读取速度极快,通常能达到毫秒级甚至更低的延迟。分布式:支持多节点部署,可水平扩展,适用于大规模分布式系统。简单易用:提供了简洁的 API 接口,支持多种编程语言,包括 Java、Python、PHP 等。灵活的数据存储。

720

AMDGPU驱动中Doorbell与Event机制简要对比

摘要:AMDGpu驱动中,Doorbell和Event是两种异步通知机制。Doorbell是CPU→GPU的单向硬件通知,通过写MMIO寄存器触发GPU拉取任务,延迟低且无需内核介入,适用于队列任务提交。Event是GPU→CPU的双向同步通知,基于中断和内核事件对象,支持阻塞等待,用于任务完成或异常上报。核心区别在于方向、用途和实现方式:Doorbell侧重任务触发,Event侧重状态反馈。两者配合实现高效的任务下发与完成通知流程。

图形/计算GPU的驱动与虚拟化技术分享园地 1846

Memcached 介绍与详解及在Java Spring Boot项目中的使用与集成

Memcached 是一种高性能的分布式内存对象缓存系统,主要用于加速动态Web应用以减少数据库负载,从而提高访问速度和性能。作为一个开源项目,Memcached 被广泛应用于许多大型互联网公司,如Facebook、Twitter 和 YouTube 等。Memcached 通过将数据存储在内存中,并使用高效的哈希算法来进行数据存取,提供了极高的读写性能。

招风的黑耳优快云 1334

SAP UI5 和 Fiori 的一些小技巧合集 - 持续更新中

本文介绍笔者从事 SAP UI5 和 Fiori 开发多年以来,积累的一些经验和小技巧。会保持更新。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 911

《网络安全自学教程》- SQL注入之报错注入原理+步骤+实战操作

这篇文章为大家解析报错注入的实现原理,结合实战案例讲解报错注入的使用步骤。

wangyuxiang946的博客 1万+

Spring Boot:Spring Boot集成Memcached

一.Memcached 介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached 基于一个存储键/值对的 hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过 Memcached 协议与守护进程通信。 因为 Spring Boot 没有针对 Memcached 提供对应的组建包,因此需要我们自己来集成。官方推出的

安安静静敲代码 523

元学习与Transformer的结合:Meta-Transformer架构解析

我们生活在一个信息爆炸的时代,每天都会产生海量的数据。在深度学习领域,如何让模型更高效地学习、更快地适应新的任务,一直是科学家们努力的方向。元学习和Transformer都是深度学习中的重要概念,它们各自有着独特的优势。本文的目的就是深入剖析将元学习和Transformer结合起来的Meta - Transformer架构,探讨它的原理、应用以及未来发展。我们会从基础概念讲起,逐步深入到架构的各个方面,让大家对Meta - Transformer有一个全面的了解。

AI智能探索者的博客 1052

Spring Boot 2 (八):Spring Boot 集成 Memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。因为 Spring Boot 没有针对 Memcached 提供对应的组建包,因此需要我们自己来集成。

2301_79727522的博客 334

获取抖音中x-secsdk-csrf-token的方法

获取抖音中x-secsdk-csrf-token的方法

sh_moranliunian的博客 2016

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

memcached客户端_Spring Boot 集成 Memcached

Memcached 介绍Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。因为 Spring B...

weixin_39672160的博客 77

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: 程序员最喜欢的五大神器
下一篇: 详解Java线程池
刀哥谈Java
博客等级 码龄8年 110粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值