はい、LUA EVALSHAの場合、スクリプトが最適なソリューションです。 電話:
- あなたはredis非同期で作業しています。つまり、
LUAコードの数とコードの可読性を減らすのに役立ちます。 -
LUAネットワーク通信が減少するため、ケースの方が高速です。
たった2つのコマンドでコードを書けると思います。 existsは必要ありません コード内。
local path = KEYS[1]
local resourcesPrefix = ARGV[1]
local collectionsPrefix = ARGV[2]
local ret
set ret = redis.call('get',resourcesPrefix..path)
if ret then
return ret
end
set ret = redis.call('smembers',collectionsPrefix..path)
if ret then
return ret
end
return "notFound"