Spring boot + Redis + Spring Cache 实现缓存

学习

Redis 的 value 有 5 种常用的数据结构

        Redis 存储的是 key-value 结构的数据。key 是字符串类型,value 有 5 种常用的数据结构:

Redis 的图形化工具

        Another Redis Desktop Manager

Spring Data Redis

        Redis 的 Java 客户端。

Spring Cache

        Spring Cache 是一个框架,基于注解实现缓存功能,更加简单。底层的缓存实现,可以是Redis、Caffeine或者EHCache等。

        Spring Cache 常用注解:

配置

  1. 下载Redis。(默认没有密码)
  2. 在 xml 中引入 Spring Data Redis 和 Spring Cache 2.7.3 的依赖。
  3. 在 yml 中配置 Redis 数据源。

实现

1. 开启:@EnableCaching

     放在启动类上,开启缓存注解功能。   

2. 增:@CachePut

在 Controller 层:

//    增
    @PostMapping()
    @CachePut(cacheNames = "userCache", key = "#user.id")  // key = userCache::id
    public User save(@RequestBody User user) throws IOException {
//        保存到mysql
        userService.save(user);
//        保存到mysql后,id已经有了,可以直接插入到ES
        esService.AddDocument(user);
        return user;
    }

采用了spEL表达式(#对象.属性)。

注:先操作 save 方法,再操作 @CachePut,所以 user 此时有 id 了。

3. 查:@Cacheable

4. 删、改:@CacheEvict

  1. @CacheEvict(cacheNames = "userCache", key = "#user.id") 删除某个id
  2. @CacheEvict(cacheNames = "userCache", allEntries = True) 删除所有

相关推荐

  1. C# 实现Lru缓存

    2024-04-28 08:20:01       58 阅读
  2. 实现video视频缓存

    2024-04-28 08:20:01       46 阅读
  3. 四级缓存实现

    2024-04-28 08:20:01       46 阅读
  4. 多级缓存实现方案

    2024-04-28 08:20:01       40 阅读
  5. Nginx实现缓存

    2024-04-28 08:20:01       31 阅读
  6. php与html缓存实现

    2024-04-28 08:20:01       61 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-28 08:20:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-28 08:20:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-28 08:20:01       82 阅读
  4. Python语言-面向对象

    2024-04-28 08:20:01       91 阅读

热门阅读

  1. Circuits--Sequential--Finite4

    2024-04-28 08:20:01       31 阅读
  2. SQL优化方案示例

    2024-04-28 08:20:01       33 阅读
  3. AWS ECS Fargate 批量禁止公网访问

    2024-04-28 08:20:01       31 阅读
  4. 初学软件工程后对其的希望及个人目标

    2024-04-28 08:20:01       28 阅读
  5. Android Compose页面跳转Demo

    2024-04-28 08:20:01       32 阅读
  6. Golang基础8-go语言依赖管理

    2024-04-28 08:20:01       32 阅读
  7. 2024制造企业数字化趋势

    2024-04-28 08:20:01       31 阅读
  8. 自然语言处理的发展历程

    2024-04-28 08:20:01       37 阅读
  9. 重庆市工程技术建设专业职称申报条件

    2024-04-28 08:20:01       35 阅读