GO之redis基本操作(一)

  在实际项目中,我们除了用到关系型数据库 ,其次用的最多就是非关系数据库,  一般都是作为缓存使用, 其主要目的是缓解数据库压力,其次,从缓存中拿数据是非常快的,这里我们主要介绍用的最多的 redis, 那go 是如何操作redis呢?

       一.连接数据库

package main

import (
	"fmt"
	"github.com/garyburd/redigo/redis"

)

//操作redis
func main(){

	conn, err := redis.Dial("tcp", "ip:6379",
		      redis.DialDatabase(1),
		      redis.DialPassword("密码"))
	if err != nil {
		fmt.Println("Connect to redis error", err)
		return
	}
	fmt.Println("初始化redis数据库success")
	defer conn.Close()

}

查看控制台:

二:做增删改查的操作

   1.插入

_, err = conn.Do("SET", "csq", "redis插入")
if err != nil {
	fmt.Println("插入失败", err)
}

看到插入成功了.(这个是不会过期的)

 

   设置过期时间,然后在根据ke获取值,看是否能获取的到

_, err = conn.Do("SET", "csq", "redis插入", "EX", "5")
if err != nil {
	fmt.Println("redis 插入失败", err)
}

2.查询

v, _ := redis.String(conn.Do("GET", "csq"))

fmt.Println("get value: ", v)
v1, _ := redis.String(conn.Do("GET", "csq01"))

fmt.Println("get value: ", v1)

获取到的值为空,证明key(csq) 已经过期了

3.删除key

_, err = conn.Do("SET", "csq01", "redis插入01")
	if err != nil {
		fmt.Println("插入失败", err)
	}

_, err = conn.Do("DEL", "csq01")
if err != nil {
	fmt.Println("redis delelte value failed >>>", err)
    return
}
 //在查询
v, err := redis.String(conn.Do("GET", "csq01"))
if err != nil {
	fmt.Println("redis get value failed >>>", err)
}

fmt.Println("get value:", v)

根据控制台输出,知道删除成功. 

猜你喜欢

转载自blog.csdn.net/FindHuni/article/details/105838803