**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)))
}