go-redis Lua スクリプトが配列を返すときの Eval func 戻り値の型

WBOY
リリース: 2024-02-09 08:51:33
転載
493 人が閲覧しました

go-redis Eval func返回值类型,当Lua脚本返回数组时

php 編集者の Xigua が、go-redis ライブラリの Eval 関数の戻り値の型に関する問題を紹介します。 Lua スクリプトを使用して Eval 関数を実行すると、スクリプトが配列を返すことがあります。では、go-redis ライブラリでは、この戻り値の型は何でしょうか?以下でこの質問に詳しく答えてみましょう。

質問内容

lua スクリプトが eval 呼び出し中にテーブル配列を返した場合、go でそれを [] 文字列に変換するにはどうすればよいですか?

redis cli は、次の形式でバッチ応答を返します。

リーリー

go-redis eval 関数はバッチエントリを

として返します
1) val1
2) val2
ログイン後にコピー

Solution

redis は、lua テーブル配列を resp2 配列として返します。その後、go クライアントはその応答を go ネイティブ タイプにマッピングします。 go-redis の関連ドキュメントは、lua および go type にあります。

簡単に言えば、lua テーブルは一括応答にマッピングされ、Go クライアントはそれをインターフェース フラグメント []interface{} にマッピングします。

go-redis スクリプト runeval は両方とも *cmd を返します。このタイプのメソッドを使用して、go タイプの出力を取得できます。 result (interface{}, error) が指定された場合は、好きなものを Assert と入力できます。それ以外の場合は、stringslice が瞬時に取得する便利なゲッターです。 []文字列を取得します。

つまり、次のようになります:

リーリー

値が実際にはすべて文字列ではない場合は、slice を使用して []interface{} スライスを取得し、要素を個別に検査します。

以上がgo-redis Lua スクリプトが配列を返すときの Eval func 戻り値の型の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!