[TIL] # 40 Redis
時間はデータ交換の重要な部分だと思います.
将来的には、JOINを使用してDBへのアクセス回数を減らすために事前にキャッシュする
しかしselect relatedとprefetch relatedの2つの面では不足している.
プライマリ・データベースとして使用する以外は、
キャッシュではなくメモリからデータを取得してデータベースにアクセスします.
データの効率的な交換が可能
MONGO DBというNOSQLを聞いたことがありますが
Redisは初めて聞いた単語で、よくわかりません
まず実験をするために.
NOSQLは初めてなので何が違うのかわかりません🥲
まず、django-seedを使用して元のデータを処理します.
私たちは彼らのために3000のデータを作った.
loadtestを用いて実験を行う
20秒くらいかかりました
24個のリクエストが処理されたことを1秒で確認できます.
500人が入るのに20秒かかりますか?思い出した.
単純にmysqlでDB 1個だと500名もキツいでしょう.
わあ.素晴らしいちょっと驚いた
まず,結果から見ると,速度が半分以上減少し,毎秒解決の要求があった.
明らかに増えた
Redisを使ってキャッシュしてデータをインポートするとこうなると思います.
Redisにキャッシュされたデータがある場合、
cache.setを使用してspacesという名前のキーにcontextを加える方法
有効期限を指定できます.指定しない場合は、永続的に保存されます.
Redis以外にもいい方法がたくさんあると思います.
本当にすごいみたい
どうして聞くともっと勉強しなければならないことがあるのですか.
開発者の世界は不思議すぎるようだ.
Django Viewコードを記述する場合はredisを使用します.
将来的には、JOINを使用してDBへのアクセス回数を減らすために事前にキャッシュする
しかしselect relatedとprefetch relatedの2つの面では不足している.
プライマリ・データベースとして使用する以外は、
キャッシュではなくメモリからデータを取得してデータベースにアクセスします.
データの効率的な交換が可能
Redis
MONGO DBというNOSQLを聞いたことがありますが
Redisは初めて聞いた単語で、よくわかりません
まず実験をするために.
brew install redis
Reddisをインストールし、Reddisを実行NOSQLは初めてなので何が違うのかわかりません🥲
まず、django-seedを使用して元のデータを処理します.
私たちは彼らのために3000のデータを作った.
loadtestを用いて実験を行う
loadtest -n 10 http://127.0.0.1:8000/spaces
全部で500回リクエストを出しましたが、結果は20秒くらいかかりました
24個のリクエストが処理されたことを1秒で確認できます.
500人が入るのに20秒かかりますか?思い出した.
単純にmysqlでDB 1個だと500名もキツいでしょう.
Redis使用後
わあ.素晴らしいちょっと驚いた
まず,結果から見ると,速度が半分以上減少し,毎秒解決の要求があった.
明らかに増えた
Redisを使ってキャッシュしてデータをインポートするとこうなると思います.
Redisの使用
from django.core.cache import cache
class SpaceView(View):
def get(self, post):
context = cache.get('spaces')
if not context:
spaces = Space.objects.values("id", "name")
context = {}
for i in spaces:
context[f'space_{i["id"]}'] = i
cache.set('spaces', context)
return JsonResponse(context)
まず、最初のテストのために、このようにビューを整理します.Redisにキャッシュされたデータがある場合、
cache.setを使用してspacesという名前のキーにcontextを加える方法
cache.set(キー、値、有効期限)
有効期限を指定できます.指定しない場合は、永続的に保存されます.
Redis以外にもいい方法がたくさんあると思います.
本当にすごいみたい
どうして聞くともっと勉強しなければならないことがあるのですか.
開発者の世界は不思議すぎるようだ.
Django Viewコードを記述する場合はredisを使用します.
Reference
この問題について([TIL] # 40 Redis), 我々は、より多くの情報をここで見つけました https://velog.io/@ddalkigum/TIL-40-Redisテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol