Redis で実行する小さな Lua スクリプトがあり、実行時間を取得することに興味があります。
Redis とその Lua 実装の性質上、スクリプトの開始点/戻り点で TIME 関数を使用できず、処理のためにこの情報を戻り値に含めることができません ( http://redis.io/commands/evalを参照してください-純粋関数としてのスクリプト)。これにより、エラーが発生します。(error) ERR Error running script (call to f_a49ed2fea72f1f529843d6024d1515e76e69bcbd): Write commands not allowed after non deterministic commands
最後の実行スクリプトの実行時間を返す関数/呼び出しを探しましたが、まだ何も見つかりませんでした。
PHP と Predis ライブラリを使用しています。PHP 側から実行時間を確認できますが、転送のオーバーヘッドを取り除き、Lua スクリプトがデータベースへのアクセスをブロックする時間を調べたいと考えています。Redis に保存されているデータを変更する必要がない場合、時間は正常に返されました。これらは、PHP が報告する時間の約 1/10 でした。
PHP経由ではなく、RedisでLuaスクリプトの実行時間を決定するにはどうすればよいですか?