新增redis配置类

package com.example.config;

import org.springframework.cache.CacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.cache.RedisCacheConfiguration;
import org.springframework.data.redis.cache.RedisCacheManager;
import org.springframework.data.redis.cache.RedisCacheWriter;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.RedisSerializationContext;
import org.springframework.data.redis.serializer.RedisSerializer;

import java.time.Duration;

/**
 * @author 无敌暴龙神
 */
@Configuration
public class RedisConfig {
    /**
     * 设置序列化等缓存配置
     *
     * @return
     */
    @Bean
    public RedisCacheConfiguration redisCacheConfiguration() {
        RedisCacheConfiguration redisCacheConfiguration = RedisCacheConfiguration.defaultCacheConfig();
        // 设置序列化的方式
        redisCacheConfiguration = redisCacheConfiguration.serializeValuesWith(RedisSerializationContext
                .SerializationPair
                .fromSerializer(RedisSerializer.json()));
        return redisCacheConfiguration;
    }
}

依赖:除去Springboot选择依赖项的nosql中选择redis外;需要额外增加的依赖::jedis的连接池依赖

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-pool2</artifactId>
    <version>2.9.0</version>
</dependency>

pom文件需要添加有关jedis的配置项

server:
    port: 8080
spring:
    datasource:
        driver-class-name: com.mysql.cj.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/redis_study?useSSL=false&serverTimezone=GMT%2B8
        username: root
        password: root
    #redis的配置
    redis:
        #redis的ip地址
        host: 127.0.0.1
        #redis的端口号
        port: 6380
        #redis的数据库;默认为0库
        database: 0
        lettuce:
            #连接池参数配置
            pool:
                min-idle: 3
                max-idle: 8
                max-active: 8
#配置mybatis
mybatis:
    configuration:
        log-impl: org.apache.ibatis.logging.stdout.StdOutImpl  #输出sql
    mapper-locations:
        - classpath:mapper/*Mapper.xml

用得到的注解:

@EnableCaching 在启动类上加上注解启动缓存
​
#作用在你要缓存的数据方法上
@Cacheable(key = "") ---[当key为字符串时候,在双引号内使用''来标志该字符串为key;;;当使用方法的形参作为key的时候,使用#属性名来表示该形参为key]-----添加缓存
@Cacheput 解决脏读 每次都会执行一次数据库查询,然后把查到的值存入缓存中 一般用于更新
@CachEvict(解决脏读)

#作用在类上用于配置(全局的配置缓存)
@CacheConfig(cacheNames = "全局key")

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐