どのように私はジャンゴでのRedisを使用することができますか?
質問
私はRedisのキャッシュを聞いたが、どのように正確に動作しますか?それは何とかRDBMSクエリをキャッシュすることにより、ジャンゴと私のRDBMSの間の層として使用されていますか?
はそれとも、データベースとして直接使用することを想定していますか? 、そのgithubのページから、何の設定を任意のログイン情報をどの私は疑うカバーしません。..だけでいくつかの設定プロパティを設定することを示しています。
解決
はRedisのためのこのPythonモジュールは、readmeの明確な使用例があります。 http://github.com/ andymccurdy / Redisの-PYする
Redisのは、RAMキャッシュできるように設計されています。これは、基本的なGETとキーのSETプラス辞書などのコレクションの保存をサポートしています。あなたはRedisの中で、それらの出力を格納することにより、RDBMSクエリをキャッシュすることができます。目標は、あなたのDjangoサイトをスピードアップすることです。時期尚早ではない最適化を行います。
- あなたはスピードが必要になるまでのRedisまたは他のキャッシュを使用して起動しないでください。他のヒント
メモリー内のRedisの店のものは、キャッシュすることを意図していることを意味するわけではないという理由だけで。私は、データの永続ストアとしてそれを使用している人々を見てきました。
は、それがキャッシュとして使用することができること、それは高性能ストレージとして有用であることがヒントです。お使いのRedisのシステムがダウンした場合は、再びディスクに書き戻されていなかったデータを失うかもしれませんが。そのような危険性を軽減するためのいくつかの方法は、例えば、ありますホットスタンバイレプリカ。 あなたのデータは「ミッションクリティカル」である場合は、銀行やお店を実行した場合と同様に、Redisのはあなたのための最高のピックではないかもしれません。しかし、あなたが永続的なライブデータまたはいくつかの社会的相互作用のもので高トラフィックのゲームを書いて、非常に許容されるデータ損失の可能性を管理する場合、Redisのは、一見の価値があるかもしれない。
とにかく、ポイントの遺跡は、はい、Redisのは、データベースとして使用することができます。
Redisのは、基本的添えものの負荷で「メモリ内」KVストアです。それは非常に柔軟です。 (他の回答で述べたように警告して)データベースのように、キャッシュ、または永久的な店のように、一時的なストアとして使用することができます。
ジャンゴと組み合わせると、Redisのための最高の/最も一般的なユースケースは、おそらくキャッシュの回答 'とのセッションにある。
バックエンドがここにあります https://github.com/sebleier/django-redis-ここではDjangoのドキュメントでキャッシュ/ と優れたドキュメント:ます。https:// docs.djangoproject.com/en/1.3/topics/cache/するます。
私は最近、 https://github.com/erussell/django-redisを使用して開始しました-status の私のキャッシュを監視する - 魅力の作品。 (Redisの上に構成しmaxmemory又は結果とても有用ではない)。
また、あなたのDjangoのアプリで分散タスクのキューとしてのRedisを使用することができます。あなたはのためのメッセージ・ブローカーとして使用することができますセロリのか、 PythonのRQ のます。