Upload
dae-myung-kang
View
1.316
Download
0
Embed Size (px)
DESCRIPTION
Citation preview
The Story About Cache
Use Case: Login
Use Case: Login
Common Case
Use Case: Login
Common Case Read From DB
Select * from Users where id=‘charsyam’;
Use Case: Login
May be it’s genenally fast
Use Case: Login
But it’s Slow In Many Read/Write
Use Case: Login
Advanced Case Read From Cache
Get charsyam
Use Case: Login
it’s always fast
Use Case: Login
136 vs 1613 seconds
Memcache VS Mysql
Use Case: Login
250 million User ID Request 10 million
Where We Can Use Cache?
Just Check User exists? Mail Receive, Tweet Mention
Get User’s Profile Get User’s Timeline
Caches
Memcache
Redis
Memcache
Atomic Operation
Memcache
Atomic Operation
Key:Value
Memcache
Atomic Operation
Key:Value Single Thread
Memcache
Over 100,000 TPS Processing
Redis
Key:Value
Redis
Key:Value
Collection
List Sorted Set
Cache Layer
Cache
DBMS
Storage Layer
Application Server
READ
WRITE
WRITE UPDATE
Cache Layer Like Twitter
K: UserID, V: Y/N
K: UserID_TIMELINE, V: Tweet IDs
K: UserID_TWEETID, V: Tweet Contents
Check User exists
Check tweet list
Check Content
1st Level Cache
2nd Level Cache
3rd Level Cache
BUTs
Sometimes Cache is slower than DB
Why?
DBMS Also Uses Cache If Cache is hit. It’s faster than …
DBMS
DBMS
Storage Layer
Application Server
READ
WRITE
Cache
Environment
Small Data Sets Read Just 0.2~03mili
Comparision
DB’s Cache: 0.2mili memCache: 0.4mili
If you check cache, you spend more time
BUTs BUTs
Cache helps to reduce DBMS’s Loads
And It reduces Performance Deviation
Use Cache!
Thank you!