問題タブ [django-cache-machine]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Heroku Memcachier で Django キャッシュ マシンを構成しますか?
Heroku で Memcachierを使用して、素晴らしい Cache Machine Django アプリ ( https://github.com/jbalogh/django-cache-machine ) を使用したいと思います。
私が理解していることから、Memcachier は PyLibMC と SASL 認証を必要とするため、Cache Machine はそのままでは Memcachier では機能しません ( https://devcenter.heroku.com/articles/memcachier#djangoを参照)。Cache Machine は、PyLibMC をサポートしていると述べています。必要なのは、「caching.backends.memcached.PyLibMCCache」を CACHES 設定にドロップすることだけです。
ただし、これを行うと、次のエラーが表示されます。
これの原因は caching.backends.memcached.PyLibMCCache が django.core.cache.backends.memcached.PyLibMC を継承しているためだと思いました ( https://github.com/jbalogh/django-cache-machine/blob/master/を参照) caching/backends/memcached.py )、Heroku で動作するために django_pylibmc.memcached.PyLibMCCache から継承する必要がある場所として (ただし、これは暗闇の中のショットのようなものです)。
代わりに django_pylibmc.memcached.PyLibMCCache から継承した独自のカスタム キャッシュ バックエンドを作成しましたが、Heroku Memcachier パネルを確認すると、何をしてもキャッシュが増加しているようには見えません。クエリセットごとに増加すると予想されます。
Heroku で Cache Machine を正常にセットアップした人はいますか? もしそうなら、どのようにしましたか?
django - Django: Cache Machine を使用して、GeoManager を使用するモデルをキャッシュするにはどうすればよいですか?
ドキュメントのパターンを使用して、非地理モデルで Cache Machine のキャッシュ マネージャーを使用しています。
しかし、 GeoDjango フィールドタイプを含むモデルがいくつかあるため、GeoManager を使用する必要があります。
これら 2 つのマネージャーを地理モデルに統合するにはどうすればよいですか? 私はDjango 1.5 / Python 2.7.5を使用しています。
これは、私が取得した CachingManager をオーバーライドすることを示していますが、Cache Machine のドキュメントでは、QuerySet が確実にキャッシュされるようにする必要がある、つまり CachingQuerySet になるようにする必要があると考えさせられます。
CachingManager をサブクラス化する代わりに、他のマネージャーの get_query_set メソッドから CachingQuerySet を返す
django - キャッシュを持つ Django の種類
たとえば、hazelcast のようなキャッシュがあります。
したがって、djangoキャッシュタイプでは?
どちらが最も好ましいですか?
python - django-cache-machine を設定する正しい手順は何ですか?
私は Django とキャッシングが初めてで、Django 1.6 を使用しています。
django-cache-machine' ページの指示に従ってインストールしました。
1.pip install django-cache-machine
2.settings.pyに以下を追加
3. 指示の最小限のケースと同様に、モデルの 1 つに変更を適用します。
サーバーを実行しようとすると、次のエラーが表示されます。
django.core.cache.backends.base.InvalidCacheBackendError: バックエンド 'caching.backends.memcached.MemcachedCache' が見つかりませんでした: 'module' オブジェクトに属性 'CacheClass' がありません
以前に johnny-cache をインストールしましたが、すぐに削除してからキャッシュ マシンをインストールしました。それが関連性があるかどうかはわかりません。Memcached も実行されています。
前もって感謝します!
編集:
アプリの Github ページの 1 つの問題で既に言及されていることがわかりました。 https://github.com/jbalogh/django-cache-machine/issues/44
そして、修正が取り込まれました。そのため、github バージョンを再インストールします。
今度は別のエラーが表示されます。
そこで、python-memcached という別のアプリをインストールします。サーバーは実行されますが、キャッシュは発生しません。
Python シェルを実行すると、アプリは正常に動作します。したがって、問題はまだdjango-cache-machineだと思います。
django-cache-machine はまだ Django 1.6 を完全にはサポートしていないと思います。
Django 1.6+Python 2.7 で動作させる方法を知っている人がいたら、教えてください。
再度、感謝します!
python - Django Cache Machine を django.contrib.auth.models.User で動作させるには?
Django Cache Machineを使用して Django ORM オブジェクトをキャッシュしています。それは素晴らしいソフトウェアです。ほぼすべてのモデルのデータベース アクセスが大幅に削減され、使い方も簡単です。
ただし、1 つのモデルがまだキャッシュされていません: django.contrib.auth.models.User
. これは私自身のアプリケーション コードではないため、CachingMixin
キャッシュ マシンの手順で各モデルに追加するように指示されている を使用していません。そのため、自分のアプリケーションのモデルはすべてキャッシュされていますが、User
モデルはキャッシュされていません。そのため、いまだに不要なデータベース アクセスが数多く発生しています。
これらのデータベースへのアクセスをなくす最善の方法は何ですか? django.contrib.auth.models.User
Git のコードベースの一部ではありません。そのクラスまたはモジュールのソースコードをまったく変更しないことをお勧めします。