๋ฏธ๋ค
2026๋
8์ 19์ผ๋ฒ๊ทธ๋ฅผ ์ฐพ์๋ผ: Go
์ฝ๋ ํ ์กฐ๊ฐ. ๋ฒ๊ทธ๋ฅผ ์ฐพ๊ฑฐ๋, ๋ฒ๊ทธ๊ฐ ์์์ ์ฆ๋ช ํ์ธ์.
go
1package users
2
3import "sync"
4
5type User struct {
6 ID string
7 Name string
8}
9
10var (
11 mu sync.Mutex
12 cache = map[string]*User{}
13)
14
15func GetUser(id string, fetch func() *User) *User {
16 mu.Lock()
17 defer mu.Unlock()
18 if u, ok := cache[id]; ok {
19 return u
20 }
21 u := fetch()
22 cache[id] = u
23 return u
24}๋ฌธ์ ๊ฐ ๋๋ ์ค์ ํด๋ฆญํ์ธ์.
๋น์ ์ ํ๋จ
ํ๋ฃจ ํ ๋ฒ. ์ ์ถํ๋ฉด ๋ฐ๋ก ์ ๋ต์ด ํ์๋ฉ๋๋ค.
์ฐ์ ๊ธฐ๋ก ์ ์งํ๊ธฐ
๊ณ์ ์ ๋ง๋ค๋ฉด ์ฐ์ ๊ธฐ๋ก์ ์ ์งํ๊ณ ์งํ ์ํฉ์ ์ถ์ ํ ์ ์์ต๋๋ค.