go对redis增删改查

**rediogo 标准go redis 官方库 **

package main

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

func RedisTest1() {
	c1, err := redis.Dial("tcp", "127.0.0.1:6379")
	if err != nil {
		log.Fatalln(err)
	}
	defer c1.Close()
	rec1, err := c1.Do("GET", "myname")
	fmt.Print(string(rec1.([]byte)))
}

func main()  {
	RedisTest1()
}

string 增

	c1.Do("SET","women","2")

list 增

		s,err:=c1.Do("lpush","women1","2")

list查

result, err := redis.Values(c1.Do("lrange", "women2", "0", "10"))
for _,result:= range result {
	fmt.Println(string(result.([]byte)))
}

hash增

		c1.Do("HMSET","myset1111","name","2")

hash查

re, _ := c1.Do("HMGET", "myset1111", "name")

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

连接

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

string—增

_, err = c.Do("lpush", "asd1", "superWan22232244g")
if err != nil {
	fmt.Println("redis set failed:", err)
}

string—查

username, err := redis.String(c.Do("GET", "test1"))
if err != nil {
	fmt.Println("redis get failed:", err)
} else {
	fmt.Printf("Get mykey: %v \n", username)  //对于interface{}, %v会打印实际类型的值。
}

设置过期时间

设置一秒过期,s为key

c.Do("EXPIRE","s",1)

删除

c.Do("DEL","s") // s为key

json传入redis

 	key:="json"
	va:=map[string]string{"name":"666","height":"180"}
	value,_:=json.Marshal(va)
	c.Do("SETNX",key,value)//SETNX是如果不存在,则SET

list 增

c.Do("lpush", "s1", "sss")

list 删

values, _ := redis.Values(c.Do("lrange", "s1", 0, 10))
for _, v := range values{
	fmt.Println(string(v.([]byte)))
}
发布了39 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42123182/article/details/90899360