2

明らかな理由から、セッションではなくRedisを使用したいと思います。

古い国コード:

session[:some_stuff] = @my_objects.map(&:id)

じゃあ後で :

session[:some_stuff].each{|obj| ..

または、

このIDのマップをredisに保存したいと思います。そして、それらを取得します。他のWebリソースに関連するものが見つかりません。何か案は?

4

2 に答える 2

1

Redis接続/アダプターの設定方法については書いていませんが、基本的SADDには、Redisセットに要素を追加し、SMEMBERSすべての要素を取得するためのものです。

http://redis.io/commands#set

于 2012-04-30T21:18:05.823 に答える
-1

私はいくつかの問題を解決するだろうと思って宝石を使おうとしましredis-storeたが、うまくいかないことがわかりました。おそらく安定した1.0.0バージョンですら。

だからこれは私がしたことであり、それは非常にうまくいきました:

def first_method
  $redis = Redis.new
  @customers.map(&:id).each{|c|$redis.sadd('export', c)}


def other_method
  @customers = [] 
  $redis.smembers('export').each{|c|@customers << Customer.find(c)}

1つのメソッドで$redisが1回だけ識別される必要があります。次に、MVCアーキテクチャの外部のステートレスな場所に保存されます。

于 2012-05-02T09:02:41.287 に答える