回答:
このRedis用Pythonモジュールのreadmeには、明確な使用例があります。http://github.com/andymccurdy/redis-py
RedisはRAMキャッシュとして設計されています。これは、キーの基本的なGETおよびSETに加えて、辞書などのコレクションの格納をサポートします。RDBMSクエリは、その出力をRedisに保存することでキャッシュできます。目標は、Djangoサイトを高速化することです。速度が必要になるまでRedisまたは他のキャッシュの使用を開始しないでください-時期尚早に最適化しないでください。
Redisが物事をメモリに保存するからといって、それがキャッシュであることを意味するわけではありません。これをデータの永続ストアとして使用している人を見てきました。
キャッシュとして利用できることは、高性能ストレージとして有用であることのヒントです。Redisシステムがダウンしても、ディスクに再度書き込まれなかったデータが失われる可能性があります。このような危険を軽減する方法はいくつかあります(例:ホットスタンバイレプリカ)。銀行や店舗を経営している場合のように、データが「ミッションクリティカル」である場合、Redisは最適な選択肢ではない可能性があります。しかし、永続的なライブデータやソーシャルインタラクションなどを使用してトラフィックの多いゲームを作成し、データ損失の確率を許容できる範囲で管理する場合、Redisは一見の価値があります。
とにかく、要点は残っています。はい、Redisはデータベースとして使用できます。
Redisは基本的に、たくさんのベルとホイッスルを備えた「メモリ内」のKVストアです。非常に柔軟性があります。キャッシュのような一時的なストアとして、またはデータベースのような永続的なストアとして使用できます(他の回答で言及されている警告があります)。
Djangoと組み合わせると、Redisの最もよくある/最も一般的な使用例は、おそらく「応答」とセッションをキャッシュすることです。
ここhttps://github.com/sebleier/django-redis-cache/にバックエンドがあり、Django docsのすばらしいドキュメントhttps://docs.djangoproject.com/en/1.3/topics/cache/。
私は最近、https://github.com/erussell/django-redis-statusを使用してキャッシュを監視し始めました。(redisでmaxmemoryを構成するか、結果があまり役に立ちません)。
Djangoアプリで分散タスクのキューとしてRedisを使用することもできます。CeleryまたはPython RQのメッセージブローカーとして使用できます。
プライマリデータベースとしてのRedis
はい、Redis Key-Valueストアをプライマリデータベースとして使用できます。Redisはキーと値のペアを保存するだけでなく、次のようなさまざまなデータ構造もサポートします
RedisはメモリのKey-Valueストアにあるため、Redisサーバーに障害が発生した場合、データが失われることに注意する必要があります。
Redisは、データチェックの公式ドキュメントも保持できます。
キャッシュとしてのRedis
はいRedisはDjangoとRDBMSの間に存在します。
使い方
given a URL, try finding that page in the cache if the page is in the cache: return the cached page else: generate the page save the generated page in the cache (for next time) return the generated page
DjangoでRedisを使用する方法
Djangoアプリケーションには、redis pythonクライアントredis-pyを使用できます。
Redis Pythonクライアントredis-py Github
djangoキャッシュバックエンドにDjango-redisを使用できます。
Django-redisはredis-py上にビルドします、djangoアプリケーションに関連する追加機能が追加されています。
他のライブラリも存在します。
Redisのユースケースとデータ型
いくつかのユースケース
Redisを使用している大手企業
Twitter GitHub Weibo Pinterest Snapchat Craigslist Digg StackOverflow Flickr