Golang对Redis的常用操作

Redis操作
package redis

import (
	"fmt"
	"github.com/go-redis/redis"
	"time"
)

type clientRedis struct {
	*redis.Client
}

/*
	获取一个*redis.Client
 */
func NewRds(addr, password string, DB, poolSize int) (client *clientRedis, err error) {
	client = &clientRedis{redis.NewClient(&redis.Options{
		Addr:     addr,
		Password: password,
		DB:       DB,
		PoolSize: poolSize,
	})}

	pong, err := client.Ping().Result()
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(pong)
	return
}

/*
	string set操作  对照命令 set key value
 */
func (cr *clientRedis) StringSet(expire time.Duration, key string, value string) (err error) {
	err = cr.Client.Append(key, value).Err()
	if err != nil {
		// todo error info
		return
	}
	cr.Expire(key, expire)
	return
}

/*
	string get操作  对照命令 get key
 */
func (cr *clientRedis) StringGet(key string) (res string, err error) {
	res, err = cr.Get(key).Result()
	if err != nil {
		//todo error info
		return
	}
	return
}

/*
	list lpush操作 对照命令  lpush key value
*/
func (cr *clientRedis) ListLPush(expire time.Duration, key string, value ...string) (err error) {
	err = cr.LPush(key, value).Err()
	if err != nil {
		// todo error info
		return
	}
	cr.Expire(key, expire)
	return
}

/*
	list rpush操作 对照命令  rpush key value
*/
func (cr *clientRedis) ListRPush(expire time.Duration, key string, value ...string) (err error) {
	err = cr.RPush(key, value).Err()
	if err != nil {
		// todo error info
		return
	}
	cr.Expire(key, expire)
	return
}

/*
	list lpop操作  对照命令  lpop key
*/
func (cr *clientRedis) ListLPop(key string) (res string, err error) {
	res, err = cr.LPop(key).Result()
	if err != nil {
		//todo error info
		return
	}
	return
}

/*
	list rpop操作  对照命令  rpop key
*/
func (cr *clientRedis) ListRPop(key string) (res string, err error) {
	res, err = cr.RPop(key).Result()
	if err != nil {
		//todo error info
		return
	}
	return
}

/*
	set  add操作  对照命令   sadd key value
 */
func (cr *clientRedis) SetAdd(expire time.Duration, key string, value ...string) (err error) {
	err = cr.SAdd(key, value).Err()
	if err != nil {
		// todo error info
		return
	}
	cr.Expire(key, expire)
	return
}

/*
	set members操作 对照命令  smembers key
 */
func (cr *clientRedis) SetMembers(key string) (res []string, err error) {
	res, err = cr.SMembers(key).Result()
	if err != nil {
		//todo error info
		return
	}
	return
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值