195-Redigo基本操作mget-mset





Redigo基本操作mget-mset



基本操作

package controllers

//GoRedis结构体
//作为控制器
type GoRedis struct{
beego.Controller
}


func(this *GoRedis) ShowGet(){

//链接数据库
conn,err := redis.Dial("tcp",":6379")
defer conn.Close()
if err!=nil {
	beego.Error("redis数据库链接失败",err)
	return
}

//操作数据库
resp,err := conn.Do("set", "key01", "value01")

re.err := redis.String(resp,err)

beego.Info("回复值=",re)

//关闭数据库


}




再来看看get

func (this *GoRedis) ShowGet(){

conn,err := redis.Dial("tcp",":6379")
defer conn.Close()

if err!=nil {
	beego.Error("redis数据库链接失败",err)
	return
}

resp,err := conn.Do("mget","key01","key02")

re,err := redis.Values(resp,err)

var str01,str02 string

redis.Scan(re,&str01,&str02)
beego.Info("res==",str01,str02)


}





然后我们来看一个mset和mget
也就是多个值的操作


type GoRedis struct {
	beego.Controller
}

func (this *GoRedis) SetValue() {

	conn, err := redis.Dial("tcp", ":6379")
	defer conn.Close()
	if err != nil {
		beego.Error("redis数据库链接失败", err)
		return
	}

	resp, err := conn.Do("mset", "key01", "value01", "key02", "value02")

	re, err := redis.String(resp, err)

	this.Ctx.WriteString("回复值===" + re)
}

func (this *GoRedis) GetValue() {

	conn, err := redis.Dial("tcp", ":6379")
	defer conn.Close()
	if err != nil {
		beego.Error("redis数据库链接失败", err)
		return
	}

	resp, err := conn.Do("mget", "key01", "key02")

	values, err := redis.Values(resp, err)

	var str01, str02 string

	redis.Scan(values, &str01, &str02)

	this.Ctx.WriteString("回复值===" + str01 + "===" + str02)
}




如果遇到编码问题
那么就exit
然后redis-cli --raw
然后就可以看到中文了




var articleTypes []models.ArticleType

//获取所有类型
o.QueryTable("ArticleType").All(&articleTypes)

//连接数据库
conn,err := redis.Dial("tcp",":6379")
if err!=nil{
	beego.Error("redis数据库链接失败")
}

//序列化和反序列化
//来一个容器
var buffer bytes.Buffer

//要有一个编码器
enc := gob.NewEncoder(&buffer)

//编码
enc.Encode(&articleTypes)
conn.Do("set","articleTypes",buffer.Bytes())

resp,err := conn.Do("get","articleTypes")
redis.Bytes(resp.err)

dec := gob.NewDecoder(bytes.NewReader(types))
var testTypes []models.ArticleType

dec.Decode(&testTypes)
beego.Info(testTypes)



 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值