springboot2.0.6 整合redis实践

整合redis之前,先提前安装一下redis,redis官方下载的是不支持windows安装的,点击redis-window版本下载,下载解压双击redis-server就启动了。
本文还会用到一个redis可视化的工具,点击redis desktop manager下载

1.pom.xml引用redis的依赖

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

2.application.yml 添加redis配置

spring:
  redis:
    database: 2 
    host: 127.0.0.1
    port: 6379
    jedis:
      pool:
        max-active: 8
        max-wait: 1
        max-idle: 8
        min-idle: 0
    timeout: 5000   

jedis-pool 本文暂时没有使用(可以暂时不用配)。
database 是配置使用哪个数据库,redis有16个数据库
timeout是配置redis响应时间,我看别人的文章这段配置timeout配的是0,如果给的值是0,是会遇到报错的,大家可以试试。

3.创建一个RedisService

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;

@Service
public class RedisService {

	@Autowired
	private StringRedisTemplate redisTemplate;
	
	public void setString(String key, String value) {
		redisTemplate.opsForValue().set(key, value);
	}
	
	public String getString(St
### 配置 Spring Boot 2.0.6 版本中的 Prometheus 监控 Hikari 连接池 在 Spring Boot 2.0.6 中配置 Prometheus 监控 Hikari 连接池,可以通过以下方式实现: #### 1. 引入依赖 为了支持 Prometheus 和 HikariCP 的监控功能,需要在项目的 `pom.xml` 文件中引入以下依赖: ```xml <!-- Maven --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-core</artifactId> <version>1.0.6</version> <!-- 确保与 Spring Boot 2.0.6 兼容[^3] --> </dependency> <dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version>1.0.6</version> <!-- 确保与 Spring Boot 2.0.6 兼容[^3] --> </dependency> ``` 上述依赖将启用 Spring Boot Actuator 的 `/actuator/prometheus` 端点,并允许 Prometheus 抓取指标数据。 --- #### 2. 配置 `application.properties` 在 `application.properties` 文件中进行如下配置,以启用 Prometheus 指标抓取并设置相关参数: ```properties # 暴露所有 Actuator 端点(生产环境建议按需暴露) management.endpoints.web.exposure.include=* # 启用 Prometheus 端点 management.endpoint.prometheus.enabled=true # 配置应用名称作为指标前缀 management.metrics.tags.application=my-springboot-app # 配置 Prometheus 抓取间隔 management.metrics.export.prometheus.step=30s ``` 通过上述配置,Prometheus 将能够从 `/actuator/prometheus` 端点抓取指标数据[^4]。 --- #### 3. 自定义 HikariCP 指标 HikariCP 默认提供了一些内置的监控指标,例如连接池大小、空闲连接数、活动连接数等。如果默认指标无法满足需求,可以自定义指标收集器。 以下是一个示例代码,展示如何通过 Micrometer 注册自定义指标: ```java import com.zaxxer.hikari.HikariDataSource; import io.micrometer.core.instrument.MeterRegistry; import io.micrometer.core.instrument.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextRefreshedEvent; import org.springframework.stereotype.Component; import java.util.Collections; @Component public class HikariCpMetrics implements ApplicationListener<ContextRefreshedEvent> { @Autowired private MeterRegistry meterRegistry; @Autowired private HikariDataSource dataSource; @Override public void onApplicationEvent(ContextRefreshedEvent event) { // 注册自定义指标 meterRegistry.gauge("hikari.active.connections", Collections.singletonList(Tag.of("pool", "my-pool")), dataSource, HikariDataSource::getActiveConnections); meterRegistry.gauge("hikari.idle.connections", Collections.singletonList(Tag.of("pool", "my-pool")), dataSource, HikariDataSource::getIdleConnections); } } ``` 上述代码通过 Micrometer 的 `gauge` 方法注册了两个自定义指标:`hikari.active.connections` 和 `hikari.idle.connections`,分别表示活动连接数和空闲连接数[^5]。 --- #### 4. Prometheus 配置文件 在 Prometheus 的配置文件中,添加一个目标以定期抓取 Spring Boot 应用的指标数据: ```yaml scrape_configs: - job_name: 'spring-boot-app' metrics_path: '/actuator/prometheus' static_configs: - targets: ['localhost:8080'] ``` 确保 Spring Boot 应用的 `/actuator/prometheus` 端点可以通过指定的地址访问。 --- #### 5. 验证监控数据 启动 Spring Boot 应用后,访问 `/actuator/prometheus` 端点以验证是否生成了 HikariCP 的监控指标。例如: ``` # HELP hikari_active_connections Active connections in the pool # TYPE hikari_active_connections gauge hikari_active_connections{pool="my-pool",} 5 # HELP hikari_idle_connections Idle connections in the pool # TYPE hikari_idle_connections gauge hikari_idle_connections{pool="my-pool",} 10 ``` 这些指标将被 Prometheus 抓取并存储,以便后续分析和可视化[^6]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值