package common
import (
"fmt"
"github.com/garyburd/redigo/redis"
"github.com/spf13/viper"
)
func SetRedis(phone string, code string) bool {
var REDIS_ADDR = viper.GetString("redis.addr")
var REDIS_DB = viper.GetInt("redis.db")
var REDIS_PASSWORD = viper.GetString("redis.password")
conn, err := redis.Dial("tcp",
REDIS_ADDR,
redis.DialDatabase(REDIS_DB),
redis.DialPassword(REDIS_PASSWORD))
if err != nil {
fmt.Println("connect redis error :", err)
return false
}
defer conn.Close()
_, err = conn.Do("SET", phone, code)
if err != nil {
fmt.Println("redis set error:", err)
return false
}
//key失效时间
_, err = conn.Do("expire", phone, 300)
if err != nil {
fmt.Println("set expire error: ", err)
return false
}
return true
}
func GetRedis(phone string) string {
var REDIS_ADDR = viper.GetString("redis.addr")
var REDIS_DB = viper.GetInt("redis.db")
var REDIS_PASSWORD = viper.GetString("redis.password")
conn, err := redis.Dial("tcp",
REDIS_ADDR,
redis.DialDatabase(REDIS_DB),
redis.DialPassword(REDIS_PASSWORD))
if err != nil {
fmt.Println("connect redis error :", err)
}
defer conn.Close()
code, err := redis.String(conn.Do("GET", phone))
if err != nil {
fmt.Println("redis get error:", err)
}
return code
}
func DelRedis(phone string) string {
var REDIS_ADDR = viper.GetString("redis.addr")
var REDIS_DB = viper.GetInt("redis.db")
var REDIS_PASSWORD = viper.GetString("redis.password")
conn, err := redis.Dial("tcp",
REDIS_ADDR,
redis.DialDatabase(REDIS_DB),
redis.DialPassword(REDIS_PASSWORD))
if err != nil {
fmt.Println("connect redis error :", err)
}
defer conn.Close()
info, err := redis.String(conn.Do("DEL", phone))
if err != nil {
fmt.Println("redis del error:", err)
}
return info
}