以前下記エントリーでredisの活用について書きました。
一般的な使用法ですと登録できるデータはstring,list,hashのような比較的単純な形しか登録できないため、複雑なデータはシリアライズして文字列化して登録する必要があります。
が、Laravelではオブジェクトを直接登録する(おそらく内部でシリアライズの処理をしています。)ことができます。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
use Cache ・・・・・・・・・・・・・・ //このメソッドで保存 ※aaaaaはキー,120は保存する時間、functionは実際に保存するデータです。 $value = Cache::remember('aaaaa', 120, function() { return DB::table('items')->limit(10)->get(); }); //このメソッドで取得 ※aaaaaはキー,function以下はキーがなかった時のメソッドです。 $value2 = Cache::get('aaaaa', function() { return DB::table('items')->limit(10)->get(); }); |
上記のメソッドで登録・取得ができます。
参考リンク
検証した環境は5.4ですが、おそらく他のバージョンでも似たようなことはできるかと。複雑な形式のデータは上記のようなメソッドで直接登録・取り出したほうが楽ですね・・・