0

Rails (Dalli) を使用して memcached に文字列を書き込んでから、node.js (node-memcached) を使用して値を読み取ります。コマンドラインを使用して memcache も確認しました。

レールで書く:

Rails.cache.write("test", 'helloworld' )

node.js からの読み取り:

// output
I"helloworld:ET
4

1 に答える 1

0

何が起こっているかというとMarshal.dump('helloworld')、値をキャッシュに書き込む前に Dalli が呼び出しているということです。これを回避するには、Dalli を通過する代わりに直接対話する必要があります。Rails.cacheその後、:raw => trueDalli に渡した正確な値を保存させるオプションを渡すことができます。

このような何かがそれを行う必要があります:

dcache = Dalli::Client.new
dcache.set("test", 'helloworld', 0, :raw => true)

3 番目の引数 ( 0) は ttl (存続時間) 値です。 0値が期限切れにならないことを意味します。キャッシュから値を期限切れにするには、秒単位で測定される時間であるゼロ以外の値を設定できます。したがって、5 分後に値を期限切れにするには、 を渡すことができます300

于 2013-10-12T05:48:17.487 に答える