Redis は、さまざまなデータ構造とバックアップ メカニズムをサポートするオープン ソースのメモリベースのキー/値データ ストレージ システムであり、キャッシュ、メッセージ キュー、リアルタイム カウンタ、セッション管理などの分野で広く使用されています。 Golang は、高性能、強力な型指定、シンプルさと可読性、同時実行セキュリティの特徴を備えたオープンソース プログラミング言語であり、クラウド コンピューティング、ネットワーク プログラミング、分散システムなどの分野で徐々に普及している言語です。この記事では、Golang で Redis に接続し、データの読み書き操作を行う方法を紹介します。
まず、Redis をインストールし、Redis サービスを開始する必要があります。次のコマンドを使用して Ubuntu システムにインストールできます:
sudo apt-get update
sudo apt-get install redis-server
インストールが完了したら、次のコマンドを使用できます。次のコマンドを実行して Redis サービスを開始します。
redis-server
同時に、Golang アプリケーションで Redis クライアントを使用して Redis サービスに接続する必要があります。 Go Redis クライアントは、Gary Burd によって作成されたオープン ソース ソフトウェア パッケージで、基本的な Redis コマンドのサポートを提供します。次のコマンドを使用してインストールできます:
go get github.com/go-redis/redis
Connect in Go アプリケーション Redis サービスは、Redis サーバーのアドレス、ポート番号、およびパスワード (存在する場合) を指定する必要があります。次のコードを使用して Redis サービスに接続できます:
import "github.com/go-redis/redis"
func main() {
client := redis. NewClient(&redis.Options {
Addr: "localhost:6379", Password: "", // no password set DB: 0, // use default DB
})
ポン、エラー := client.Ping().Result()
fmt.Println(ポン、エラー)
}
ここでは Redis クライアント オブジェクトが作成され、Redis サーバーのアドレスは localhost として指定され、ポート番号は 6379 で、パスワードは空で、デフォルトの DB が使用されます。次に、Ping() メソッドを呼び出して接続をテストし、接続結果を出力します。
実際のアプリケーションでは、Redis サーバーのアドレス、ポート番号、パスワードを実際の状況に応じて指定する必要があります。
次に、Redis クライアント オブジェクトを使用してデータの読み取りおよび書き込み操作を実行できます。以下は、いくつかの一般的な Redis コマンドと Go での実装です:
3.1 値の設定
Set() メソッドを使用してキーと値のペアを設定できます:
err := client.Set("key", "value", 0).Err()
if err != nil {
panic(err)
}
最初のパラメータはキー名です、2 番目のパラメータはキー値、3 番目のパラメータは有効期限です。0 は有効期限がないことを意味します。
3.2 値の取得
Get() メソッドを使用してキーと値のペアを取得できます:
val, err := client.Get("key" ).Result()
if err != nil {
panic(err)
}
fmt.Println("key", val)
このうち、最初のパラメータがキーですname であり、戻り値は key value です。キーが存在しない場合は nil を返します。
3.3 自己インクリメント
Incr() メソッドを使用して自己インクリメントを行うことができます:
err := client.Incr("key").Err()
if err != nil {
panic(err)
}
このうち、最初のパラメータはキー名で、キー値を自動インクリメントすることを意味します。
3.4 リスト操作
LPush() メソッドを使用して、リストの先頭に要素を挿入できます。
err := client.LPush("mylist", "value1", "value2 ").Err()
if err != nil {
panic(err)
}
LRange() メソッドを使用してリスト要素を取得できます。
vals, err := client.LRange("mylist", 0, -1).Result()
if err != nil {
panic(err)
}
for _, val := range vals {
fmt.Println(val)
}
最初のパラメータはリスト名、2 番目のパラメータは開始インデックス、3 番目のパラメータは終了インデックス、戻り値は要素リスト。
3.5 コレクション操作
SAdd() メソッドを使用してコレクションに要素を追加できます:
err := client.SAdd("myset", "value1" , "value2 ").Err()
if err != nil {
panic(err)
}
SMembers() メソッドを使用して、設定された要素を取得できます。
vals, err := client.SMembers("myset").Result()
if err != nil {
panic(err)
}
for _, val := range vals {
fmt.Println(val)
}
最初のパラメータはコレクション名で、戻り値は要素リストです。
プログラムを終了する前に、Redis クライアント接続を時間内に閉じる必要があります。
err := client.Close()
if err != nil {
onic(err)
}
上記の手順により、Golang で接続できますRedis はデータの読み取りおよび書き込み操作も実行します。同時に、Go Redis クライアントはより充実した運用サポートも提供します。詳細については公式ドキュメントを参照してください。
以上がRedisをGolangに接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。