From 6d944ad56a666f0abcfd835dbcd623cd54e05464 Mon Sep 17 00:00:00 2001 From: ikmkj <1@qq,com> Date: Sat, 26 Jul 2025 17:51:45 +0800 Subject: [PATCH] =?UTF-8?q?cache(invalidate):=20=E6=9B=B4=E6=96=B0?= =?UTF-8?q?=E7=83=AD=E9=97=A8=E6=AD=8C=E6=9B=B2=E3=80=81=E6=AD=8C=E5=8D=95?= =?UTF-8?q?=E5=92=8C=E6=AD=8C=E6=89=8B=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在添加、更新和删除音乐时更新热门歌曲缓存 - 在添加、更新和删除歌单时更新热门歌单缓存 - 在添加、更新和删除歌手时更新热门歌手缓存 --- .../test/musichouduan/controller/MusicController.java | 2 ++ .../musichouduan/controller/PlaylistController.java | 11 ++++++++++- .../musichouduan/controller/SingerController.java | 11 +++++++++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/music-houduan/src/main/java/com/test/musichouduan/controller/MusicController.java b/music-houduan/src/main/java/com/test/musichouduan/controller/MusicController.java index d128fbe..3c1f21b 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/controller/MusicController.java +++ b/music-houduan/src/main/java/com/test/musichouduan/controller/MusicController.java @@ -144,6 +144,7 @@ public class MusicController { @RequestPart(value = "file", required = false) MultipartFile file, @RequestPart(value = "cover", required = false) MultipartFile cover) { MusicDTO result = musicService.addMusic(musicDTO, file, cover); + musicService.updateHotMusicCache(); return Result.success("添加成功", result); } @@ -178,6 +179,7 @@ public class MusicController { @DeleteMapping("/{id}") public Result deleteMusic(@PathVariable Long id) { boolean result = musicService.deleteMusic(id); + musicService.updateHotMusicCache(); return Result.success("删除成功", result); } diff --git a/music-houduan/src/main/java/com/test/musichouduan/controller/PlaylistController.java b/music-houduan/src/main/java/com/test/musichouduan/controller/PlaylistController.java index 5a70465..5588cfa 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/controller/PlaylistController.java +++ b/music-houduan/src/main/java/com/test/musichouduan/controller/PlaylistController.java @@ -8,6 +8,7 @@ import com.test.musichouduan.dto.PlaylistDTO; import com.test.musichouduan.dto.Result; import com.test.musichouduan.service.PlaylistService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -19,9 +20,11 @@ import java.util.List; @RestController @RequestMapping("/api/playlist") public class PlaylistController { - + private static final String HOT_PLAYLIST_CACHE_KEY = "playlist:hot_list"; @Autowired private PlaylistService playlistService; + @Autowired + private StringRedisTemplate redisTemplate; /** * 根据ID获取歌单 @@ -129,6 +132,8 @@ public class PlaylistController { @RequestPart("playlist") PlaylistDTO playlistDTO, @RequestPart(value = "cover", required = false) MultipartFile cover) { PlaylistDTO result = playlistService.addPlaylist(playlistDTO, cover); + redisTemplate.delete(HOT_PLAYLIST_CACHE_KEY); + playlistService.getHotPlaylist(50); return Result.success("添加成功", result); } @@ -147,6 +152,8 @@ public class PlaylistController { @RequestPart("playlist") PlaylistDTO playlistDTO, @RequestPart(value = "cover", required = false) MultipartFile cover) { PlaylistDTO result = playlistService.updatePlaylist(id, playlistDTO, cover); + redisTemplate.delete(HOT_PLAYLIST_CACHE_KEY); + playlistService.getHotPlaylist(50); return Result.success("更新成功", result); } @@ -160,6 +167,8 @@ public class PlaylistController { @DeleteMapping("/{id}") public Result deletePlaylist(@PathVariable Long id) { boolean result = playlistService.deletePlaylist(id); + redisTemplate.delete(HOT_PLAYLIST_CACHE_KEY); + playlistService.getHotPlaylist(50); return Result.success("删除成功", result); } diff --git a/music-houduan/src/main/java/com/test/musichouduan/controller/SingerController.java b/music-houduan/src/main/java/com/test/musichouduan/controller/SingerController.java index debba46..40292f1 100644 --- a/music-houduan/src/main/java/com/test/musichouduan/controller/SingerController.java +++ b/music-houduan/src/main/java/com/test/musichouduan/controller/SingerController.java @@ -8,6 +8,7 @@ import com.test.musichouduan.dto.Result; import com.test.musichouduan.dto.SingerDTO; import com.test.musichouduan.service.SingerService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -20,8 +21,12 @@ import java.util.List; @RequestMapping("/api/singer") public class SingerController { + private static final String HOT_SINGER_CACHE_KEY = "singer:hot_list"; + @Autowired private SingerService singerService; + @Autowired + private StringRedisTemplate redisTemplate; /** * 根据ID获取歌手 @@ -114,6 +119,8 @@ public class SingerController { @RequestPart("singer") SingerDTO singerDTO, @RequestPart(value = "avatar", required = false) MultipartFile avatar) { SingerDTO result = singerService.addSinger(singerDTO, avatar); + redisTemplate.delete(HOT_SINGER_CACHE_KEY); + singerService.getHotSinger(50); return Result.success("添加成功", result); } @@ -133,6 +140,8 @@ public class SingerController { @RequestPart("singer") SingerDTO singerDTO, @RequestPart(value = "avatar", required = false) MultipartFile avatar) { SingerDTO result = singerService.updateSinger(id, singerDTO, avatar); + redisTemplate.delete(HOT_SINGER_CACHE_KEY); + singerService.getHotSinger(50); return Result.success("更新成功", result); } @@ -146,6 +155,8 @@ public class SingerController { @DeleteMapping("/{id}") public Result deleteSinger(@PathVariable Long id) { boolean result = singerService.deleteSinger(id); + redisTemplate.delete(HOT_SINGER_CACHE_KEY); + singerService.getHotSinger(50); return Result.success("删除成功", result); }