0

memcached を使用しているように見える Rails プロジェクトを継承しました。

私はコントローラーを持っています.1つのメソッドで、キャッシュに値を保存しています:

 Rails.cache.write("key", @var)

その後、同じコントローラーで呼び出された別のメソッドで、次のように読み返しました。

@var = Rails.cache.read("key")

変数はゼロです。キャッシュが機能しないのはなぜですか? ROR を使い始めたばかりなので、かなり基本的なものである可能性が高いです。

4

1 に答える 1

0

いくつかの点を確認してください。

  1. 開発環境でキャッシュを有効にしましたか?

    使用している RoR のバージョンはわかりませんでしたが、development環境ではデフォルトでキャッシュが有効になっていません。

    有効にするには、ファイルに設定config.action_controller.perform_caching = trueconfig/environments/development.rbます。

  2. memcached サーバーを開始しましたか?

    そうでない場合は、それから始めますmemcached -vv

キャッシュに書き込もうとしたときに memcached サーバーがダウンしていると、 への呼び出しRails.cache.writeが返さfalseれ、その後の への呼び出しでRails.cache.readが返されnilます。

于 2013-07-11T08:41:12.050 に答える