teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

高速→恒久的 に変更

2015/06/14 23:12

投稿

sharow
sharow

スコア1151

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  Redisだけについて解答します。
2
2
 
3
3
  >質問1
4
- 私が使ったことある用法は主に「高速化のためにキャッシュする」です。別な言い方をすると、Redis上のデータを失ってもさして問題ない使い方です。もうひとつは「冗長性もちゃんと確保して高速なKVSとして使う」ですが、これはやったことがないので他の回答に譲ります。例えば初期のLINEはRedisをキャッシュではなく恒久的なKVSとして使っていたようです。
4
+ 私が使ったことある用法は主に「高速化のためにキャッシュする」です。別な言い方をすると、Redis上のデータを失ってもさして問題ない使い方です。もうひとつは「冗長性もちゃんと確保して恒久的なKVSとして使う」ですが、これはやったことがないので他の回答に譲ります。例えば初期のLINEはRedisをキャッシュではなく恒久的なKVSとして使っていたようです。
5
5
  ([HBase at LINE](http://www.slideshare.net/sunsuk7tp/hbase-at-line)の9ページあたり参照)
6
6
 
7
7
  質問者さんがセッションストアと言っているように、セッション情報を格納するケースはよくあると思います。RDBと違い、Redisはキーに期限を設定できるので、期限つきのセッション情報(≒クッキー)を格納し、キーがまだ存在すれば期限内ですし、無ければ期限切れなので再ログインを要求する、といった感じでしょう。仮にセッション情報全部を失っても、ユーザーに再ログインを要求するだけです。これをRDBだけでやるとクエリして期限を取得して、現在時刻と比較して・・あるいはWHEREで < (Less Than演算子)とか使うんでしょうか、とにかくRedisに比べるとほんのちょっと面倒です。