随心的博客

好记性不如个烂笔头,随心记录!

返回顶部

go操作redis

前言:

使用第三方开源的redis: github.com/gomodule/redigo/redis

需要先安装redis

go get github.com/gomodule/redigo/redis

 

正文:

 

window下打开redis服务:

打开cmd命令行窗口

cd C:\Program Files\Redis

redis-server.exe redis.windows.conf

本地连接redis

telnet 127.0.0.1 6379

 

redis操作

连接redis

c, err = redis.Dial("tcp", "localhost:6379")

if err != nil {

log.Fatal(err)

}

 设置值

c.Do("set", "age", 33)

设置过期时间为10s               

c.Do("expire", "age", 10)          

获取值

age, _ := redis.String(c.Do("get", "age"))

设置获取多个值

c.Do("mset", "userName", "lampol", "pass", "12346522")

获取多个值

res, _ := redis.Strings(c.Do("mget", "userName", "pass"))

 

Redis操作实例:

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

var c redis.Conn
var err error

func init() {
	//连接redis
	c, err = redis.Dial("tcp", "localhost:6379")
	if err != nil {
		log.Fatal(err)
	}
}

func doString() {
	//设置获取单个值
	c.Do("set", "age", 33)                     //设置值
	c.Do("expire", "age", 10)                  //设置过期时间为10s
	age, _ := redis.String(c.Do("get", "age")) //获取值
	fmt.Println(age)
	//设置获取多个值
	c.Do("mset", "userName", "lampol", "pass", "12346522")

	res, _ := redis.Strings(c.Do("mget", "userName", "pass"))
	fmt.Println(res)
}

// 列表操作
func doList() {
	//设置列表
	c.Do("lpush", "num", 3, 5, 7)
	//获取列表
	num, _ := redis.Int(c.Do("rpop", "num"))
	fmt.Println(num)
	num1, _ := redis.Int(c.Do("rpop", "num"))
	fmt.Println(num1)
}

// hash操作
func doHash() {
	//设置
	c.Do("hset", "userinfo", "username", "lampol")

	str, _ := redis.String(c.Do("hget", "userinfo", "username"))
	fmt.Println(str)
}

func main() {
	defer c.Close()
	//doString()
	//doList()
	doHash()
}

  完结

 

posted @ 2023-04-08 22:28  yangphp  阅读(97)  评论(0编辑  收藏  举报