その場合、JSONとして保存するのが最善ですか?
ドキュメントを調べましたが、明示的に確認されていません。
DalliはMarshal.dump
、ダンプできるものを格納できる値をシリアル化するために使用します(たとえば、ほとんどのruby実装ではprocをダンプできません。
個人的には、配列、ハッシュ、文字列、数値、およびそれらの組み合わせのみを格納することを好みます。
任意のオブジェクトを格納することは非効率的である可能性があります(たとえば、activerecordオブジェクトのインスタンス変数にその属性のコピーがいくつかあります)。
もう1つの潜在的な問題は、クラスのインスタンスを保存し、後でそのクラスの名前を変更した場合です。キャッシュされたデータにはまだ古いクラス名が含まれているため、キャッシュからその値を取得できなくなります。
memcacheはシリアル化可能なすべてのものをキャッシュできるため、Dalliでもキャッシュできます。