package main
import (
"fmt"
"github.com/gin-gonic/gin"
"github.com/go-redis/redis/v8"
"context"
)
var ctx = context.Background()
func main() {
rdb := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "", // 默认没有密码,如果有则填写
DB: 0, // 默认数据库为0,可以通过这个字段来切换数据库
})
pong, err := rdb.Ping(ctx).Result()
if err != nil {
fmt.Println(err)
}
fmt.Println(pong)
router := gin.Default()
router.GET("/set/:key/:value", func(c *gin.Context) {
key := c.Param("key")
value := c.Param("value")
_, err := rdb.Set(ctx, key, value, 0).Result()
if err != nil {
c.JSON(200, gin.H{
"error": err.Error(),
})
return
}
c.JSON(200, gin.H{
"message": "success",
})
})
router.GET("/get/:key", func(c *gin.Context) {
key := c.Param("key")
value, err := rdb.Get(ctx, key).Result()
if err != nil {
c.JSON(200, gin.H{
"error": err.Error(),
})
return
}
c.JSON(200, gin.H{
"message": value,
})
})
router.Run()
}
这段代码首先创建了一个Redis客户端,并尝试连接到本地的Redis服务。然后,定义了两个路由处理函数,一个用于设置键值对,一个用于获取键对应的值。最后启动了Gin服务器。这个例子展示了如何在Gin框架中使用Redis客户端进行简单的键值存储操作。