golang操作redis

go-redis库的使用

  1. 安装go-redis库
    go get github.com/go-redis/redis/v8

github链接

  1. 创建redis客户端并设置值
// 短信验证码发送成功,将验证码保存到redis
	rdb := redis.NewClient(&redis.Options{
		Network: "tcp",  // 默认值也是tcp,可以省略不写
		Addr: fmt.Sprintf("%s:%d", global.ServerConfig.RedisInfo.Host, global.ServerConfig.RedisInfo.Port),
		// 注意:redis只有>=6.0的时候才能使用用户名,小于6.0不能写用户名,否则报错
		// ERR wrong number of arguments for 'auth' command
		//Username: global.ServerConfig.RedisInfo.User,
		Password: global.ServerConfig.RedisInfo.Password,
		DB: 0,  // 默认值也是0,可以省略不写
	})
	rdb.Set(c, sendSmsForm.Mobile, code, time.Second * time.Duration(global.ServerConfig.SMSInfo.ExpireAt))
  1. 从redis中获取值
	// 校验注册短信验证码是否正确
	rdb := redis.NewClient(&redis.Options{
		Addr: fmt.Sprintf("%s:%d", global.ServerConfig.RedisInfo.Host, global.ServerConfig.RedisInfo.Port),
		Password: global.ServerConfig.RedisInfo.Password,
	})
	_, err := rdb.Get(context.Background(), registerForm.Mobile).Result()
	if err == redis.Nil {
		c.JSON(http.StatusBadRequest, gin.H{"code": "验证码错误"})
		return
	}

redigo的使用

  1. 安装
    go get github.com/gomodule/redigo/redis
  2. 代码
package main

import (
	"fmt"
	"github.com/gomodule/redigo/redis"
)

func main() {
	c, err := redis.Dial("tcp", "host:port", redis.DialPassword("xxxxxx"))
	if err != nil {
		fmt.Println(err.Error())
	}
	r, _ := c.Do("set", "name", "赵六")
	fmt.Println(r)

	/* 方法1自己转换
	r, _ = c.Do("get", "name")
	// 需要将接口类型通过断言转换成字节切片,在转换成字符串类型打印
	fmt.Println(string(r.([]byte)))
	 */

	// 方法2:redis包中有封装好的方法
	r, err = redis.String(c.Do("get", "name"))
	fmt.Println(r)
}

参考文档

posted @   专职  阅读(274)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示