當(dāng)使用Go語言連接Redis時傲霸,github.com/go-redis/redis
庫提供了豐富的方法和命令严衬,以滿足各種Redis操作的需求墨榄。以下是一些常用的方法和命令的示例:
package main
import (
"fmt"
"time"
"github.com/go-redis/redis"
)
func main() {
// 創(chuàng)建Redis客戶端
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379", // Redis服務(wù)器地址和端口
Password: "", // Redis密碼(如果有的話)
DB: 0, // Redis數(shù)據(jù)庫索引
})
// 測試連接
pong, err := client.Ping().Result()
fmt.Println(pong, err)
// 設(shè)置鍵值對膨报,并設(shè)置過期時間
err = client.Set("mykey", "myvalue", 5*time.Minute).Err()
if err != nil {
fmt.Println(err)
}
// 獲取鍵對應(yīng)的值
value, err := client.Get("mykey").Result()
if err != nil {
fmt.Println(err)
} else {
fmt.Println("mykey:", value)
}
// 判斷鍵是否存在
exists, err := client.Exists("mykey").Result()
if err != nil {
fmt.Println(err)
} else {
fmt.Println("mykey exists:", exists)
}
// 自增
newValue, err := client.Incr("counter").Result()
if err != nil {
fmt.Println(err)
} else {
fmt.Println("Counter:", newValue)
}
// 批量設(shè)置鍵值對
err = client.MSet("key1", "value1", "key2", "value2").Err()
if err != nil {
fmt.Println(err)
}
// 批量獲取鍵對應(yīng)的值
values, err := client.MGet("key1", "key2").Result()
if err != nil {
fmt.Println(err)
} else {
fmt.Println("Values:")
for i, v := range values {
fmt.Printf("key%d: %v\n", i+1, v)
}
}
// 使用管道(Pipeline)批量執(zhí)行命令
pipe := client.Pipeline()
incr := pipe.Incr("pipeline_counter")
pipe.Expire("pipeline_counter", 5*time.Minute)
_, err = pipe.Exec()
if err != nil {
fmt.Println(err)
} else {
fmt.Println("Pipeline Counter:", incr.Val())
}
// 關(guān)閉連接
err = client.Close()
if err != nil {
fmt.Println(err)
}
}
上面的示例展示了更多方法和命令的使用。其中包括設(shè)置過期時間堰氓、判斷鍵是否存在、自增操作苹享、批量設(shè)置和獲取鍵值對双絮,以及使用管道進行批量執(zhí)行命令等浴麻。你可以根據(jù)自己的需求選擇適合的方法和命令來操作Redis數(shù)據(jù)庫。記得根據(jù)你的實際情況修改Addr
字段以匹配你的Redis服務(wù)器地址和端口囤攀,以及設(shè)置密碼(如果有的話)软免。