分散システムでは、Go 関数は分散データベースと対話できます。具体的な手順は次のとおりです。 必要な依存関係をインストールします。データベースに接続するには、spanner.NewClient 関数を使用します。 Query メソッドを使用してクエリを実行し、イテレータを取得します。 Do メソッドを使用して、クエリ結果を反復処理し、データを処理します。クエリが完了したら、Close メソッドを使用して接続を閉じます。
#分散システムにおける Go 関数と分散データベース間の対話分散システムでは、Go 関数が分散データベースと対話することが一般的な要件です。この記事では、Go コードを使用して分散データベースに接続し、クエリを実行する方法を説明します。 依存関係のインストール最初のステップは、必要な依存関係をインストールすることです:import ( "context" "fmt" "log" "cloud.google.com/go/spanner" )
関数: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>client, err := spanner.NewClient(context.Background(), "projects/my-project", "instances/my-instance", "databases/my-database")
if err != nil {
log.Fatal(err)
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
クエリの実行
メソッド: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>stmt := spanner.Statement{SQL: `SELECT * FROM Singers`}
iter := client.Single().Query(context.Background(), stmt)
defer iter.Stop()</pre><div class="contentsignin">ログイン後にコピー</div></div>
は、クエリ結果を反復処理するイテレータです。 結果の処理
メソッドを使用してください: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:go;toolbar:false;'>for {
row, err := iter.Next()
if err == iterator.Done {
break
}
if err != nil {
log.Fatal(err)
}
var singerId int64
var firstName string
var lastName string
if err := row.ColumnByName("SingerId", &singerId); err != nil {
log.Fatal(err)
}
if err := row.ColumnByName("FirstName", &firstName); err != nil {
log.Fatal(err)
}
if err := row.ColumnByName("LastName", &lastName); err != nil {
log.Fatal(err)
}
fmt.Printf("%d %s %s\n", singerId, firstName, lastName)
}</pre><div class="contentsignin">ログイン後にコピー</div></div>
接続を閉じます
client.Close()
実用的なケース
以上が分散システムにおける Golang 関数と分散データベース間の相互作用の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。