golang使用redis-go操作redis
golang使用redis-go操作redis
此处记录redis-go包连接redis,操作常用str、hash类型的数据。
package main import ( "context" "fmt" "github.com/go-redis/redis/v8" ) var rdb *redis.Client var ctx context.Context = context.Background() func initClient() (err error) { rdb = redis.NewClient(&redis.Options{ Addr: "172.21.0.12:6379", Password: "xxxxxxx", DB: 15, PoolSize: 20, }) _, err = rdb.Ping(ctx).Result() if err != nil { return err } return nil } //str key 存取 func strRedis() { rdb.Set(ctx, "name", "wushaoyu", 0) fmt.Printf("key:%v 设置成功", "name") val, err := rdb.Get(ctx, "age").Result() if err != nil { fmt.Printf("key:%v get err:%v", "age", err) } fmt.Printf("val: %v\n", val) } //Hash key 存取 func hashRedis() { s, err := rdb.HGet(ctx, "user", "firstname").Result() //返回值,报错信息 // s := rdb.HGet(ctx, "user", "firstname").Val() //返回值, 返回单个key的值 if err != nil { fmt.Printf("err: %v\n", err) } fmt.Printf("s: %v\n", s) fmt.Println("========================") m, _ := rdb.HGetAll(ctx, "user").Result() //map[firstname:wu lastname:shao] fmt.Printf("%+v\n", m) // fmt.Printf("m[\"firstname\"]: %v\n", m["firstname"]) // fmt.Printf("m[\"lastname\"]: %v\n", m["lastname"]) } func main() { if err := initClient(); err != nil { fmt.Printf("init redis client failed,err:%v\n", err) return } fmt.Println("connect redis success....")
//程序退出时释放相关资源
defer rdb.Close()
// strRedis() // hashRedis() }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下