2025-03-20 21:57:22 +08:00

74 lines
1.6 KiB
Go

package main
import (
"fmt"
"time"
"github.com/go-redis/redis"
)
func main() {
// 创建Redis客户端
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379", // Redis服务器地址
Password: "", // Redis服务器密码
DB: 0, // Redis数据库索引
})
pong, err := client.Ping().Result()
if err != nil {
panic(err)
}
println(pong)
// 设置键值对
err = client.Set("yzk_study@163.com", "123456", 600*time.Second).Err()
if err != nil {
panic(err)
}
// 获取键值对
val, err := client.Get("yzk_study@163.com").Result()
if err != nil {
panic(err)
}
println(val)
// 删除键值对
err = client.Del("yzk_study@163.com").Err()
if err != nil {
panic(err)
}
// 设置哈希字段
client.HMSet("user:1", map[string]interface{}{"name": "Bob", "age": 30})
// 获取哈希字段
age, err := client.HGet("user:1", "age").Int()
if err != nil {
panic(err)
}
fmt.Println("User age:", age) // 输出: User age: 30
// 向列表尾部添加元素
client.RPush("tasks", "task1", "task2")
// 获取列表范围
tasks, err := client.LRange("tasks", 0, -1).Result()
if err != nil {
panic(err)
}
fmt.Println("Tasks:", tasks) // 输出: Tasks: [task1 task2]
// 添加元素到集合
client.SAdd("tags", "golang", "redis")
// 检查元素是否存在
var exists bool
exists, err = client.SIsMember("tags", "golang").Result()
if err != nil {
panic(err)
}
//取出集合中的所有元素
tags, err := client.SMembers("tags").Result()
if err != nil {
panic(err)
}
fmt.Println("Tags:", tags) // 输出: Tags: [golang redis]
fmt.Println("Exists golang:", exists) // 输出: true
}