Rails (Dalli) を使用して memcached に文字列を書き込んでから、node.js (node-memcached) を使用して値を読み取ります。コマンドラインを使用して memcache も確認しました。
レールで書く:
Rails.cache.write("test", 'helloworld' )
node.js からの読み取り:
// output
I"helloworld:ET
Rails (Dalli) を使用して memcached に文字列を書き込んでから、node.js (node-memcached) を使用して値を読み取ります。コマンドラインを使用して memcache も確認しました。
レールで書く:
Rails.cache.write("test", 'helloworld' )
node.js からの読み取り:
// output
I"helloworld:ET
何が起こっているかというとMarshal.dump('helloworld')
、値をキャッシュに書き込む前に Dalli が呼び出しているということです。これを回避するには、Dalli を通過する代わりに直接対話する必要があります。Rails.cache
その後、:raw => true
Dalli に渡した正確な値を保存させるオプションを渡すことができます。
このような何かがそれを行う必要があります:
dcache = Dalli::Client.new
dcache.set("test", 'helloworld', 0, :raw => true)
3 番目の引数 ( 0
) は ttl (存続時間) 値です。 0
値が期限切れにならないことを意味します。キャッシュから値を期限切れにするには、秒単位で測定される時間であるゼロ以外の値を設定できます。したがって、5 分後に値を期限切れにするには、 を渡すことができます300
。