[์ •๋ณด] Spring Boot Cache ์‚ฌ์šฉ๋ฐฉ๋ฒ• ๋ฐ ์ฃผ์˜ ์‚ฌํ•ญ

2023. 3. 21. 08:09ยท๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ฃผ์˜์‚ฌํ•ญ

์บ์‹ฑ์ค‘์ธ ๋ฐ์ดํ„ฐ์— save ๋“ฑ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ ์ž ํ•  ๋•Œ ๋น„๊ต๊ตฌ๋ฌธ์ด ์žˆ์œผ๋ฉด ๋ฐ˜๋“œ์‹œ  @CacheEvict ์–ด๋…ธํ…Œ์ด์…˜์œผ๋กœ ์บ์‹œ๋ฅผ Purgeํ•˜๊ณ  ํ•ด์•ผ ๊ฐ’์˜ ์ค‘๋ณต์‚ฝ์ž…์„ ๋ฐฉ์ง€ํ•  ์ˆ˜์žˆ๋‹ค.

 

์„ค์ •๋ฐฉ๋ฒ•

Spring Boot์—์„œ ์บ์‹ฑ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด, ๋จผ์ € @EnableCaching ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ์บ์‹ฑ์„ ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์•„ํ‹ฐํด ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์บ์‹ฑ์„ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

1.์บ์‹ฑ์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด, ๋ฉ”์ธ ๋ฉ”์†Œ๋“œ์— ์žˆ๋Š” ํด๋ž˜์Šค์— @EnableCaching ์–ด๋…ธํ…Œ์ด์…˜์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

@SpringBootApplication
@EnableCaching
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

2.์กฐํšŒํ•˜๋Š” Repository ๋ฉ”์†Œ๋“œ์— @Cacheable ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜์—ฌ ์บ์‹œ๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์˜ˆ์—์„œ๋Š” 'articles' ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

@Repository
public interface ArticleRepository extends JpaRepository<Article, Long> {
    @Cacheable(value = "articles")
    List<Article> findAll();
}

 

3.์ƒˆ๋กœ์šด ์•„ํ‹ฐํด์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ๊ธฐ์กด ์•„ํ‹ฐํด์„ ์ˆ˜์ •ํ•  ๋•Œ, ์บ์‹œ๋ฅผ ๋น„์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด @CacheEvict ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์˜ˆ์—์„œ๋Š” ์บ์‹œ๋ฅผ ๋น„์šฐ๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๊ธฐ ์ „์— ์•„ํ‹ฐํด์„ ์ €์žฅํ•˜๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

@Service
public class ArticleService {

    private final ArticleRepository articleRepository;

    public ArticleService(ArticleRepository articleRepository) {
        this.articleRepository = articleRepository;
    }

    @CacheEvict(value = "articles", allEntries = true)
    public Article save(Article article) {
        return articleRepository.save(article);
    }
}

์ด๋ ‡๊ฒŒ ์„ค์ •ํ•˜๋ฉด, ์•„ํ‹ฐํด์„ ์กฐํšŒํ•  ๋•Œ๋งˆ๋‹ค ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ, ์•„ํ‹ฐํด์„ ์ €์žฅํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ๋•Œ๋งˆ๋‹ค ์บ์‹œ๋ฅผ ๋น„์›Œ์„œ ํ•ญ์ƒ ์ตœ์‹  ์ •๋ณด๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ •๋ณด] ํƒ€์ž„๋ฆฌํ”„ ๋ณ€์ˆ˜ ์‚ฌ์šฉ(id, onclick )  (0) 2023.07.09
์ธํ…”๋ฆฌ์ œ์ด ํƒ€์ž„๋ฆฌํ”„ th:object ๋นจ๊ฐ„์ƒ‰ ์˜ค๋ฅ˜ ์žก๊ธฐ  (0) 2023.07.02
[์ •๋ณด] spring boot์—์„œ entity id ์ƒ์„ฑ ์ „๋žต  (0) 2023.03.16
[์ •๋ณด] SQL ๋ฐ์ดํ„ฐ ํ‚ค ๊ฐ’ ๋นˆ ๊ณต๋ฐฑ ์ฑ„์šฐ๊ธฐ  (0) 2023.03.15
[์ •๋ณด] jpa repository ์ฟผ๋ฆฌ๋ฌธ ์ž‘์„ฑ ์‹œ ์ฃผ์˜์   (0) 2023.03.12
'๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ •๋ณด] ํƒ€์ž„๋ฆฌํ”„ ๋ณ€์ˆ˜ ์‚ฌ์šฉ(id, onclick )
  • ์ธํ…”๋ฆฌ์ œ์ด ํƒ€์ž„๋ฆฌํ”„ th:object ๋นจ๊ฐ„์ƒ‰ ์˜ค๋ฅ˜ ์žก๊ธฐ
  • [์ •๋ณด] spring boot์—์„œ entity id ์ƒ์„ฑ ์ „๋žต
  • [์ •๋ณด] SQL ๋ฐ์ดํ„ฐ ํ‚ค ๊ฐ’ ๋นˆ ๊ณต๋ฐฑ ์ฑ„์šฐ๊ธฐ
TwoIceFish
TwoIceFish
https://github.com/TwoIceFIsh
  • TwoIceFish
    Cyber-Luna
    TwoIceFish
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (598)
      • ๐Ÿค–์ •๋ณด๋ณด์•ˆ (81)
        • ๐Ÿ’™๋ธ”๋ฃจํŒ€ (25)
        • โค๏ธ๋ ˆ๋“œํŒ€ (22)
        • ๐Ÿ’œํผํ”ŒํŒ€ (1)
        • ๐Ÿ’ 1๋ถ„์ง€์‹ (32)
      • ํ”„๋กœ์ ํŠธ (15)
        • ๐Ÿ’Œ ์ •๋ณด๋ณด์•ˆ ๋ฉ”์ผ๋ง ์‹œ์Šคํ…œ (9)
        • ๐Ÿ” ์ธ์ฆ์„œ ๊ด€๋ฆฌ ์‹œ์Šคํ…œ (1)
        • ๐Ÿ ๊ธˆ์œต ์ปค๋ฎค๋‹ˆํ‹ฐ (5)
      • ๐Ÿžํ”„๋กœ๊ทธ๋ž˜๋ฐ (49)
        • Next.js (9)
      • ๊ธฐํƒ€์ •๋ณด (68)
        • ๐ŸŒ๊ทธ๋ฆฟ์š”๊ฑฐํŠธ (11)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ๋ฐฉ๋ช…๋ก
    • ๋กœ์ผ“ํŽ€์น˜
    • ๊นƒํ—ˆ๋ธŒ
    • ์ฝ”์ฝ”๋„ˆ์ธ 
    • ๊ทธ๋ฆฟ์š”๊ฑฐํŠธ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

    • ์•ˆ๋…•ํ•˜์„ธ์š”
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๋‹จ์ผ ๋„๋ฉ”์ธ ์ธ์ฆ์„œ ์—ฌ๋Ÿฌ๊ฐœ
    ์ฝ”์ฝ”๋„›์ธ 
    ์ˆ˜์ต๋ฅ  ๊ณ„์‚ฐ๊ธฐ
    ISMS-P
    ์„œ๋ธŒ๋„๋ฉ”์ธ ์ธ์ฆ์„œ
    ์ง€๊ฐ‘ ์•ฑ์— ์นด๋“œ ์ถ”๊ฐ€
    ํ†ฐ์บฃ ์„œ๋ธ”๋ฆฟ
    ๋ฉ”์ผํ—ค๋”๋ถ„์„
    ๋ฐฉ๋ฒ™
    ์ธ์ฆ์„œ ์—ฌ๋Ÿฌ๊ฐœ
    ์‘๋‹ต์—†์Œ
    ์• ํ”ŒํŽ˜์ด ์„ค์ •๋ฐฉ๋ฒ•
    SKํ•˜์ด๋‹‰์Šค
    jsp 200
    ์•…์„ฑ๋ฉ”์žƒ๋ถ„์„
    nmap
    servlet 404
    tomcat servlet
    vpn ์„ค์น˜
    ์œ ๋‹ˆํ‹ฐ
    ๋ชจ์˜ํ•ดํ‚น
    ์‚ผ์„ฑ์ „์ž์šฐ
    ์•…์„ฑ๋ฉ”์ผ
    ์™€์ดํŒŒ์ด ๋น„๋ฐ€๋ฒˆํ˜ธ ํƒˆ์ทจ
    ๋ถ€ํŠธ์ŠคํŠธ๋žฉ
    Visual Studio
    eclipse
    ๋ถ€๋™์‚ฐ ์ˆ˜์ต๋ฅ  ๊ณ„์‚ฐ๊ธฐ
    vpn ์˜คํ”ˆ์†Œ์Šค
    jsp
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
TwoIceFish
[์ •๋ณด] Spring Boot Cache ์‚ฌ์šฉ๋ฐฉ๋ฒ• ๋ฐ ์ฃผ์˜ ์‚ฌํ•ญ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”