106

redis-cacheについて聞いたことがありますが、どのように正確に機能しますか?どういうわけかrdbmsクエリをキャッシュすることで、djangoと私のrdbmsの間のレイヤーとして使用されていますか?

それとも、データベースとして直接使用することになっていますか?そのgithubページにはログインの詳細が含まれていないため、セットアップはありません。設定プロパティを設定するように指示するだけです。

4

5 に答える 5

76

この Redis 用の Python モジュールには、readme に明確な使用例があります: http://github.com/andymccurdy/redis-py

Redis は RAM キャッシュとして設計されています。キーの基本的な GET と SET に加えて、辞書などのコレクションの保存をサポートします。RDBMS クエリの出力を Redis に保存することで、RDBMS クエリをキャッシュできます。目標は、Django サイトを高速化することです。速度が必要になるまで、Redis やその他のキャッシュの使用を開始しないでください。時期尚早に最適化しないでください。

于 2010-09-27T15:17:05.980 に答える
61

Redis がメモリ内に物を保存するからといって、それがキャッシュであることを意味するわけではありません。データの永続的なストアとして使用している人を見てきました。

キャッシュとして使えるということは、高性能なストレージとして重宝している暗示です。Redis システムがダウンすると、ディスクに書き戻されなかったデータが失われる可能性があります。ホットスタンバイ レプリカなど、このような危険を軽減する方法がいくつかあります。銀行や店舗を経営している場合のように、データが「ミッション クリティカル」である場合、Redis は最適な選択ではない可能性があります。しかし、永続的なライブ データや何らかのソーシャル インタラクションを使用してトラフィックの多いゲームを作成し、データ損失の可能性を許容できる範囲で管​​理している場合は、Redis を検討する価値があるかもしれません。

とにかく、ポイントは残ります。はい、Redis はデータベースとして使用できます。

于 2011-10-11T06:40:02.303 に答える
24

Redis は基本的に、さまざまな機能を備えた「メモリ内」の KV ストアです。非常に柔軟です。キャッシュのような一時的なストア、またはデータベースのような永続的なストアとして使用できます (他の回答に記載されている注意事項があります)。

Django と組み合わせた場合、Redis の最適/最も一般的な使用例は、おそらく「応答」とセッションをキャッシュすることです。

https://github.com/sebleier/django-redis-cache/にバックエンドがあり、Django ドキュメントの優れたドキュメントがhttps://docs.djangoproject.com/en/1.3/topics/cache/にあります

最近、https://github.com/erussell/django-redis-statusを使用してキャッシュを監視し始めました-魅力的です。(redis で maxmemory を構成しないと、結果はあまり役に立ちません)。

于 2011-07-17T14:00:09.883 に答える
5

プライマリ データベースとしての Redis

はい、Redis キー値ストアをプライマリ データベースとして使用できます。Redis はキーと値のペアを格納するだけでなく、次のようなさまざまなデータ構造もサポートします

  1. リスト
  2. 設定
  3. ソート済みセット
  4. ハッシュ
  5. ビットマップ
  6. ハイパーログ

Redis データ型 公式ドキュメント

Redis はメモリのキー値ストアにあるため、Redis サーバーに障害が発生した場合、データが失われることに注意する必要があります。

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 のキャッシュ フレームワークの公式ドキュメント


Django で Redis を使用する方法

Django アプリケーションには、redis python クライアントredis-pyを使用できます。

Redis python クライアント redis-py Github

Djangoキャッシュ バックエンドにはDjango-redisを使用できます。

Django-redisはredis-py上に構築され、django アプリケーションに関連する機能が追加されています。

Django-redis ドキュメント Github

他のライブラリも存在します。


Redis のユースケースとデータ型

いくつかのユースケース

  • セッションキャッシュ
  • リアルタイム分析
  • ウェブキャッシング
  • リーダーボード

コア データ構造タイプ別の上位の Redis ユース ケース


Redis を使用するビッグテック企業

 Twitter GitHub Weibo Pinterest Snapchat Craigslist Digg StackOverflow Flickr 

于 2020-02-21T07:19:05.850 に答える