-
Redis コマンドラインインターフェース(redis-cli
)を使用して Redis サーバーに接続します。
redis-cli
-
次に、SCRIPT LOAD
を使用して Lua スクリプトをロードします。前のステップと同じ、指定された量だけカウンターをインクリメントするスクリプトを使用します。
SCRIPT LOAD "local current = redis.call('INCRBY', KEYS[1], ARGV[1]); return current"
このコマンドは、スクリプトを Redis サーバーのスクリプトキャッシュにロードし、スクリプトの SHA1 ハッシュを返します。次のような出力が表示されるはずです。
"6b1e8dd2999cb08546e74339c0c9489f9f89a84b"
これは、スクリプトの SHA1 ハッシュです。次のステップで必要になるため、このハッシュをメモしておいてください。正確なハッシュ値は異なる場合があります。
-
次に、キーと値の両方が引数として渡される、キーに値を設定するスクリプトをロードしましょう。
SCRIPT LOAD "redis.call('SET', KEYS[1], ARGV[1]); return ARGV[1]"
次のような出力が表示されるはずです。
"a8b2b3648969459a8198262a9166e945e890987c"
繰り返しますが、このハッシュをメモしておいてください。
-
引数として渡された 2 つの文字列を連結し、結果をキーに設定するスクリプトをロードしましょう。
SCRIPT LOAD "local result = ARGV[1] .. ARGV[2]; redis.call('SET', KEYS[1], result); return result"
次のような出力が表示されるはずです。
"d2a800a974ca96849295220424f9a0664a495345"
このハッシュもメモしておいてください。
-
SCRIPT EXISTS
コマンドを使用して、スクリプトがロードされていることを確認できます。このコマンドは、1 つ以上の SHA1 ハッシュを引数として取り、0 と 1 の配列を返します。1 は、対応するハッシュを持つスクリプトがロードされていることを示し、0 はロードされていないことを示します。
たとえば、ロードした最初のスクリプトがまだロードされているかどうかを確認するには、次のコマンドを使用し、ハッシュをステップ 2 で取得したハッシュに置き換えます。
SCRIPT EXISTS 6b1e8dd2999cb08546e74339c0c9489f9f89a84b
出力:
1) (integer) 1
これは、スクリプトがロードされていることを示します。
ロードされていないスクリプトを確認しようとすると:
SCRIPT EXISTS 0000000000000000000000000000000000000000
出力:
1) (integer) 0
これは、スクリプトがロードされていないことを示します。
-
redis-cli
を終了します。これは、変更をログに記録するために重要です。
exit