ホームページ > php教程 > PHP开发 > Django は Redis キャッシュ サーバーを使用します

Django は Redis キャッシュ サーバーを使用します

高洛峰
リリース: 2016-11-23 13:08:49
オリジナル
1204 人が閲覧しました

Redis は、memcached と同様に、高性能のキーと値のデータベースです。キャッシュ サーバーとは何かについては、Du Niang が非常に明確に説明しているので、ここでは一つ一つ紹介しません。 。

では、私たちは通常どのような状況でキャッシュサーバーを使用するのでしょうか?すべての状況で必要なわけではありません。一般的に、このフィールドをキャッシュ サーバーに置く必要があるのは、フィールドを頻繁に読み取る必要がある場合だけです。また、キーと値のデータベースには非常に単純なデータしか格納されないため、その必要があります。保存するオブジェクトを選択するときは注意してください。

次に、Django で Redis データベースを設定して使用する方法を紹介します。まず、Ubuntu で次のコマンドを実行します。 Django で redis を使用するには、Django プラグインの redis をインストールする必要があります:
pip install django-redis

これはオープンソース プロジェクトであり、github アドレスは https://github.com/niwibe/django-redis です。 , 作者様に感謝です。

これで、Django 設定で構成されました。
CACHES = {
'default': {
'BACKEND': 'redis_cache.cache.RedisCache',
'LOCATION': '127.0.0.1:6379',
"OPTIONS": {
" CLIENT_CLASS": "redis_cache. client.DefaultClient",
},
},
}
REDIS_TIMEOUT=7*24*60*60
CUBES_REDIS_TIMEOUT=60*60
NEVER_REDIS_TIMEOUT=365*24*60*60

実際には、CACHES 内の数値のみが必要な記事 以上です。次の 3 つの文は必要ありませんが、後の例で必要になるので、ここで設定します。

さて、接続と設定が完了したので、プロジェクトでどのように使用するのでしょうか?次の例を見てみましょう。
django.confからインポート設定
django.core.cacheからインポートキャッシュ
#readキャッシュユーザーid
def read_from_cache(self, user_name):
key = 'user_id_of_'+user_name
value =cache.get(key)
if値 == NONE:
データ = なし
それ以外の場合:
データ = json.loads (値)
戻りデータ
#書き込みキャッシュ ユーザー ID
def Write_cache (Self, User_name):
key = 'user_id_of_'+user_name
キャッシュ。 set(key, json.dumps(user_name), settings.NEVER_REDIS_TIMEOUT)

上記の 2 つのメソッドを通じて、必要なフィールドをメソッドにパラメータとして渡すだけで実現できます。

それでは、前に述べた memcached についてはどうでしょうか?実際、これは同じ構成です:
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1:11211' ,
}
}

もちろん、使い方は上の私の例と同じです。実際、redis のようなキャッシュ サーバーの場合、構成は非常に簡単で、具体的な使用方法も難しくありません。参考になるように、公式 Web サイトに多くのシンプルで明確な例があります。注意すべき点は 1 つだけです。この種の情報を Redis に保存することは、本当に注意する必要があることです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート