spring boot整合cache使用memcached 优化将配置信息放入 application中管理

上文 spring boot整合cache使用memcached
我们简单做了个 spring boot 整合cache 使用 memcached 缓存的案例
但 我们是将地址这类信息 放在了config 目录下的一个 配置类中了
这样 可维护性肯定是很低的
在这里插入图片描述
其实 memcached 是有一系列配置的
我们还是正确将 配置信息 写进 application 中

首先 我们在 config 目录下再创建一个类 名字随意 开心就好 我这里取名叫 XMemcachedProperties
参考代码如下

package com.example.webdom.config;

import org.springframework.stereotype.Component;

@Component

public class XMemcachedProperties {
    //服务地址
    private String servers;
    //连接池数量
    private int poolsize;
    //超时时间
    private long opTimeout;

    public String getServers() {
        return servers;
    }

    public int getPoolsize() {
        return poolsize;
    }

    public long getOpTimeout() {
        return opTimeout;
    }

    public void setServers(String servers) {
        this.servers = servers;
    }

    public void setPoolsize(int poolsize) {
        this.poolsize = poolsize;
    }

    public void setOpTimeout(long opTimeout) {
        this.opTimeout = opTimeout;
    }
}

这里 我们定义了三个属性 然后分别定义了 get set函数 然后 Component 将它写为一个bean
因为只有bean外面才能拿到 然后 get set 方便外面处理它的属性
这三个值 对应 我们 memcached 的 服务器地址 连接池数量 超时时间
然后在application中配置这三个属性

memcached:
  servers: localhost:11211
  poolsize: 10
  opTimeout: 3000

在这里插入图片描述
这相当于我们自己自定义的属性 我们后面要去类里读 这个是之前讲过的东西了
这里 我们给 XMemcachedProperties 类加上 ConfigurationProperties prefix值指向 我们 application的memcached属性
在这里插入图片描述
然后 我们封装这些属性 是为了给我们之前的 XMemcachedconfig 用的

先将它条件装配进来
在这里插入图片描述
getServers 肯定是放到 XMemcachedClientBuilder 中
然后 其他几个属性 我们 memcachedclientBuilder 有非常多的set属性
在这里插入图片描述
我们这里要的是 setConnectionPoolSize 连接池数量 setOpTimeout 超时时间
参考代码如下

package com.example.webdom.config;

import net.rubyeye.xmemcached.XMemcachedClientBuilder;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import net.rubyeye.xmemcached.MemcachedClient;

import java.io.IOException;

@Configuration
public class XMemcachedconfig {

    @Autowired
    private XMemcachedProperties XMemcachedProperties;

    @Bean
    public MemcachedClient getMemcachedclient() throws IOException {
        XMemcachedClientBuilder memcachedclientBuilder = new XMemcachedClientBuilder(XMemcachedProperties.getServers());
        memcachedclientBuilder.setConnectionPoolSize(XMemcachedProperties.getPoolsize());
        memcachedclientBuilder.setOpTimeout(XMemcachedProperties.getOpTimeout());
        MemcachedClient memcachedclient = memcachedclientBuilder.build();
        return memcachedclient;
    }
}

memcachedclientBuilder里面有哪些set 你都可以自己去看 里面可以配的东西多了去了

然后 我们运行项目
在这里插入图片描述
对我们运行是没有任何影响的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/421175.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot+vue的美食推荐商城

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

图表背后的智慧:办公场景中的数据可视化革新

在现代办公场景中,数据可视化的应用已经成为提高效率、推动创新的得力工具。无论是管理层还是普通员工,都能从数据可视化中受益匪浅。下面我就以可视化从业者的角度,简单聊聊这个话题。 首先,数据可视化提升了数据的易读性与理解性…

【重温设计模式】装饰模式及其Java示例

装饰模式的介绍 在众多设计模式中,有一种叫做装饰模式,它以一种独特的方式赋予了代码更多的灵活性。 装饰模式是一种结构型设计模式,它允许我们在运行时动态地为对象添加新的行为。这就像是我们在装饰一个房间时,可以随意添加或更…

CentOS系统上安装幻兽帕鲁/Palworld服务端的详细步骤是什么?

CentOS系统上安装幻兽帕鲁/Palworld服务端的详细步骤是什么? 首先,需要确认Docker是否已经安装。如果未安装,则需要进行安装。接下来,运行Docker容器。这一步是为了创建一个可以运行幻兽帕鲁服务端的环境。然后,在容器…

bootstrap-table 多层组合表头

如下图所示的二层组合表头 来人,上代码! table.bootstrapTable({url: $.fn.bootstrapTable.defaults.extend.index_url,pk: id,sortName: id,search: false,showToggle: false,showColumns: false,showExport: false, commonSearch: false,columns: [[…

ElasticSearch之分布式模型介绍,选主,脑裂

写在前面 本文看下es分布式模型相关内容。 1:分布式模型 1.1:分布式特征 支持水平扩展,可以存储PB级别数据,每个就能都有自己唯一的名称,默认名称时elasticsearch,可以通过配置文件,如cluster.name: my…

使用 Docker 部署 Fiora 在线聊天室平台

一、Fiora 介绍 Fiora 简介 Fiora 是一款开源免费的在线聊天系统。 GitHub:https://github.com/yinxin630/fiora Fiora 功能 注册账号并登录,可以长久保存你的数据加入现有群组或者创建自己的群组,来和大家交流和任意人私聊,并添…

Cascading risk assessment in power-communication interdependent networks论文导读

Cascading risk assessment in power-communication interdependent networks 前言碎碎念 新学期了,兜兜转转绕了一圈,看了两篇交通流预测的内容,不过我的主要研究方向不在于此。最近和一些老师沟通交流,感觉思路稍微清晰了一些…

雷龙CS SD NAND(贴片式TF卡)测评体验

前段时间有幸免费得到了雷龙出品的贴片式的TF卡的芯片及转接板,两片贴片式nand芯片+一个转接板,一种一个已让官方焊接完好;如下图所示: 正面: 背面: 通过转接板,可以将CS SD NAND(贴…

好视通视频会议系统存在任意文件读取漏洞复现 [附POC]

漏洞简介 好视通视频会议是由深圳市华视瑞通信息技术有限公司开发,其在国内率先推出了3G互联网视频会议,并成功应用于SAAS领域。 资产 FOFA:app"好视通-视频会议" POC GET /register/toDownload.do?fileName../../../../../../../../../.…

NSGA II 算法讲解(毕业设计)(三)

目录 前言 1、NSGA II算法介绍 2、Pareto最优概念 2.1 Pareto最优,Pareto前延 2.2 支配关系 3、NSCA-II与NSCA相比,优势 4、NSGA II流程逻辑 5、拥挤度排序 6、新子代生成 前言 本篇文章介绍的是我的毕业设计,我将C语言将其实现。本…

深入理解volatile关键字

一、简介 volatile是 Java提供的一种轻量级的同步机制。Java包含两种内在的同步机制:同步块(或方法)和 volatile 变量相比于synchronized (synchronized常称为重量级)volatile是更轻量级的,因为它不会引起线程上下文的…

LeetCode25: K 个一组翻转链表

题目描述 给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。 你不能只是单纯的改变节点…

B树系列(详解)

目录 一、B-树 二、B树 三、B*树 四、时间复杂度 五、Mysql与B树系列 一、B-树 首先再说B树的性质以及其他的之前,先要说一声,好多人都把这个树叫B减树,其实不是,他就叫B树,至于原因我觉的没必要再这个名字上纠结…

HTTPS证书怎么申请?多少钱?

HTTPS证书的申请费用会因多种因素而异,主要包括以下几点: 1. 证书类型: - 域名验证型证书(DV SSL):这种证书仅验证域名的所有权,申请速度较快,通常用于个人网站或小型项目,价格相对较低&…

Java对象大小计算

概述 在实际应用中,尤其是在进行JVM调优时,理解并正确估计对象大小是非常重要的,因为这直接影响到内存分配、垃圾回收效率以及应用程序的整体性能。 对象的组成 在Java中,计算一个对象的大小是为了了解它在内存中占用的确切空间…

vue2后台管理系统demo,包含增删查改、模糊搜索、分页

因一直敲小程序,vue不熟练,自己练手项目,就包含增删查改以及模糊搜索分页 一、页面简单但功能齐全 二、数据是mock模拟 三、启动步骤 1、 json-server --watch data.json 启动mock数据 2、npm i 下载依赖 3、npm run serve 四、github地址…

【机器学习:推荐系统】什么是推荐系统?

【机器学习:推荐系统】什么是推荐系统? 推荐系统如何工作?推荐系统生命周期推荐系统算法使用推荐系统的好处推荐系统的类型协同过滤基于内容的过滤混合过滤 现实生活中的推荐系统示例亚马逊Spotify脸书/元数据Netflix谷歌和 YouTube 关于推荐…

BUUCTF---另外一个世界1

1.这是一道杂项题,也是我觉得最值得记录的一道题。 2.话不多说,题目描述(真的是另一个世界) 3.下载附件,是一张图片 4.尝试了查看属性,以及在记事本中打开看看有没有什么有用的信息,发现没什么…

基于单片机的节能窗控制系统设计

摘 要:本文以单片机为基础,对节能窗控制系统进行了科学设计,在满足日常生活需求的同时更好地实现节能减排目标。此设计中的节能窗控制系统,实际操作要灵活,具备可靠且稳定的性能,同时具备节能功效。 关键词:单片机;节能窗控制系统;系统设计 在节能窗等概念推广的背景…