package redisrpc
|
|
|
|
import (
|
|
"github.com/golang/protobuf/proto"
|
|
)
|
|
|
|
/**
|
|
* 使用用户名查询
|
|
*/
|
|
func GetString(key string, url ...string) (string, error) {
|
|
|
|
conn, _, err := Conn(url...)
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
defer conn.Close()
|
|
|
|
req := &GetRequest{proto.String(key), nil}
|
|
|
|
res := &GetStringResponse{}
|
|
|
|
err = conn.Get(req, res)
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
return res.GetValue(), nil
|
|
}
|
|
|
|
//设置
|
|
func Set(key, value string, ttl int64, url ...string) (string, error) {
|
|
|
|
conn, _, err := Conn(url...)
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
defer conn.Close()
|
|
|
|
req := &SetRequest{proto.String(key), proto.String(value), proto.Int64(ttl), nil}
|
|
|
|
res := &SetResponse{}
|
|
|
|
err = conn.Set(req, res)
|
|
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
|
|
return res.GetRet(), nil
|
|
}
|
|
|
|
//删除
|
|
func Del(key string, url ...string) (int64, error) {
|
|
|
|
conn, _, err := Conn(url...)
|
|
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
defer conn.Close()
|
|
|
|
req := &DelRequest{proto.String(key), nil}
|
|
|
|
res := &DelResponse{}
|
|
|
|
err = conn.Del(req, res)
|
|
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
|
|
return res.GetRet(), nil
|
|
}
|
|
|
|
func Exists(key string, url ...string)(int64, error){
|
|
conn, _, err := Conn(url...)
|
|
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
defer conn.Close()
|
|
|
|
req := &GetRequest{proto.String(key), nil}
|
|
|
|
res := &DelResponse{}
|
|
|
|
err = conn.Exists(req, res)
|
|
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
|
|
return res.GetRet(), nil
|
|
}
|
|
|
|
|
|
//设置如果不存在
|
|
func SetNx(key, value string, ttl int64, url ...string) (int64, error) {
|
|
|
|
conn, _, err := Conn(url...)
|
|
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
defer conn.Close()
|
|
|
|
req := &SetRequest{proto.String(key), proto.String(value), proto.Int64(ttl), nil}
|
|
|
|
res := &DelResponse{}
|
|
|
|
err = conn.SetNx(req, res)
|
|
|
|
if err != nil {
|
|
return 0, err
|
|
}
|
|
|
|
return res.GetRet(), nil
|
|
}
|