栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Go语言

go语言操作Redis详细步骤

Go语言 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

go语言操作Redis详细步骤

前言:导入开源库

 操作字符串
package main

import (
	"fmt"

	"github.com/garyburd/redigo/redis"
)

func main() {
	//通过 go 向 redis 写入和读取数据
	//1、连接到redis
	conn, err := redis.Dial("tcp", "127.0.0.1:6379")
	if err != nil {
		fmt.Println("redis.Dial err=", err)
		return
	}

	//4、关闭redis连接
	defer conn.Close()

	//2、通过go 向redis写入数据 string [key-val]
	_, err = conn.Do("Set", "name", "tom哈哈")
	if err != nil {
		fmt.Println("redis.Dial err=", err)
		return
	}

	//3、通过go 向redis读取数据 string [key-val]
	r, err := redis.String(conn.Do("Get", "name"))
	if err != nil {
		fmt.Println("redis.Dial err=", err)
		return
	}

	fmt.Println("操作ok", r)
}
操作hash
  • 一个一个操作
package main

import (
	"fmt"

	"github.com/garyburd/redigo/redis"
)

func main() {
	//通过 go 向 redis 写入和读取数据
	//1、连接到redis
	conn, err := redis.Dial("tcp", "127.0.0.1:6379")
	if err != nil {
		fmt.Println("redis.Dial err=", err)
		return
	}

	//4、关闭redis连接
	defer conn.Close()

	//2、通过go 向redis写入数据
	_, err = conn.Do("HSet", "user01", "name", "john")
	if err != nil {
		fmt.Println("HSet err=", err)
		return
	}

	_, err = conn.Do("HSet", "user01", "age", 18)
	if err != nil {
		fmt.Println("HSet err=", err)
		return
	}

	//3、通过go 向redis读取数据
	//因为返回 r 是 interface{}
	//因为 name 对应的值是string,因此我们需要转换
	r1, err := redis.String(conn.Do("HGet", "user01", "name"))
	if err != nil {
		fmt.Println("HGet err=", err)
		return
	}

	r2, err := redis.Int(conn.Do("HGet", "user01", "age"))
	if err != nil {
		fmt.Println("HGet err=", err)
		return
	}

	fmt.Printf("操作ok r1=%v r2=%v", r1, r2)
}
  • 同时操作多个
package main

import (
	"fmt"

	"github.com/garyburd/redigo/redis"
)

func main() {
	//通过 go 向 redis 写入和读取数据
	//1、连接到redis
	conn, err := redis.Dial("tcp", "127.0.0.1:6379")
	if err != nil {
		fmt.Println("redis.Dial err=", err)
		return
	}

	//4、关闭redis连接
	defer conn.Close()

	//2、通过go 向redis写入数据
	_, err = conn.Do("HMSet", "user01", "name", "john", "age", 18)
	if err != nil {
		fmt.Println("HSet err=", err)
		return
	}

	//3、通过go 向redis读取数据
	//因为返回 r 是 interface{}
	//因为 name 对应的值是string,因此我们需要转换
	r1, err := redis.Strings(conn.Do("HMGet", "user01", "name", "age"))
	if err != nil {
		fmt.Println("HGet err=", err)
		return
	}

	fmt.Printf("操作ok r1=%v", r1)
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/902929.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号