2017-11-14 5 views
0

memcachedサーバーに異なる名前空間で接続する2つのアプリケーションがあります。たとえば、「admin」と「users」と呼ばれます。Rails/Dalli:別のネームスペースからフラグメントを切る

これからは、管理アプリケーションから「users」名前空間の一部のフラグメントを期限切れにしたいと思います。

注:ここで見つけた他のいくつかの質問/回答に従って、キャッシュ/有効期限切れのアクションはありません。私は "abcde"のようなキーを期限切れにしたい。私はあらゆる種類のもの、AR結果、JSONなどをキャッシュします。

Rails.cache.delete("abcd") 
Rails.cache.delete("users/abcd") 
Rails.cache.delete("https://stackoverflow.com/users/abcd") 

ダイジェストがオフになっている:

はすでにのようなものを試してみました。

どうすればよいですか?

答えて

0

レールキャッシュに名前空間が設定されている場合、その名前空間は自動的にキャッシュキーの先頭に追加されます。だから、あなたがRails.cache.write("FOO", "BAR")のときは、鍵は実際には$NAMESPACE:FOOになります。キーは単なる文字列であり、ファイルシステムやファンシー(AFAIK)のようにナビゲートすることはできません。

あなたの最良の選択肢は、代替名前空間用のdalliクライアントのインスタンスをインスタンス化してキーを削除することです。

関連する問題