Redis
in DB
๐ก Redis
Redis๋ Remote Dictionary Server์ ์ฝ์๋ก์, โํค-๊ฐโ ๊ตฌ์กฐ์ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ
์ ์ฅํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ์คํ ์์ค ๊ธฐ๋ฐ์ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ
์ค๋์ DB ์ ๊ทผ์ ์ต๋ํ ์ค์ฌ์ ์ฑ๋ฅ์ ๋์ฌ๋ณด๋๊ฑธ ์ฐ์ตํด๋ณด๊ณ ์ถ์ด์ Redis๋ฅผ ์ฌ์ฉํ๋ค.
์ฐ์ redis์ django-redis ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํ๊ณ , ๊ธฐ๋ณธ ์ ํ ์ ํด์ฃผ์๋ค.
#-- settings.py --#
CACHE = {
"default" : {
"BACKEND" : "django_redis.cache.RedisCache",
"LOCATION" : "redis://127.0.0.1:6379/1",
"OPTION" : {
"CLIENT_CLASS" : "django_redis.client.DefaultClient",
}
}
}
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
SESSION_CACHE_ALIAS = "default"
CACHE_TTL = 60 * 1 #์บ์ ๋ฐ์ดํฐ ์ ์ง ์๊ฐ.
---
#-- views.py --#
cache_username = [ i.username for i in self.get_queryset() ]
# ์บ์์ ๋ฐ์ดํฐ ์ ์ฅ
cache.set('all_username', cache_username, CACHE_TTL)
# ์บ์์ ์ ์ฅ๋ ๋ฐ์ดํฐ ๊ฐ์ ธ์ค๊ธฐ
all_username = cache.get('all_username')
ํ์๊ฐ์ API๋ฅผ ์ฌ์ฉํ์ ๋ ์์ฃผ ์กฐ๊ธ ๋น ๋ฅด๊ฒ ์ฐํ๊ธด ์ฐํ๋ค.
ํ์ง๋ง redis-cli์์ ๋ฐ์ดํฐ๋ฅผ ํ์ธํ์ง ๋ชปํ๋ค. ์ ์์ ์ผ๋ก ๋๊ฑด์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค.