74 lines
1.6 KiB
Go
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
|
|
}
|