それで、パイプラインとマルチ/実行コマンドについて読みました。しかし、この質問に答えることができませんでした。操作 A の結果を redis 内の操作 B で使用して、redis から取り出さないようにすることはできますか? これは Lua スクリプトで実行できますか? これはredisで自然に行われますか? 特定の方法で結果をマッピングできますか?
2 に答える
4
はい、スクリプトを使用できますが、Redis クラスター (とにかくまだリリースされていません) ではうまく機能しないという制限があります。
以下は Ruby での例ですが、Redis クライアントが EVAL をサポートしていれば、どの言語でも実行できます。
require "redis"
redis = Redis.new
redis.hset("foo","bar","baz")
redis.set("baz",42)
script = <<EOS
local k = redis.call("hget","foo",ARGV[1])
return redis.call("get",k)
EOS
puts redis.eval(script,keys:[],argv:["bar"])
このスニペットは42
.
于 2012-10-10T08:58:00.293 に答える
2
これは lua ベースの回答ではありませんが、redis での操作の結果を保存するいくつかの標準コマンドを確認することをお勧めします。
于 2012-10-09T20:33:43.700 に答える