包装redis常用命令
This commit is contained in:
parent
11ac38fe69
commit
1a4ce91fb5
125
wrapper.go
Normal file
125
wrapper.go
Normal file
@ -0,0 +1,125 @@
|
|||||||
|
// Package redis ...
|
||||||
|
//
|
||||||
|
// Description : redis ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 2024-06-19 16:15
|
||||||
|
package redis
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"git.zhangdeman.cn/zhangdeman/redis/define"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
Wrapper = &wrapper{}
|
||||||
|
)
|
||||||
|
|
||||||
|
// wrapper 常用命令的包装
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 16:16 2024/6/19
|
||||||
|
type wrapper struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get Get命令
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 16:17 2024/6/19
|
||||||
|
func (w *wrapper) Get(ctx context.Context, instanceFlag string, key string) *define.RedisResult {
|
||||||
|
return Client.Exec(ctx, instanceFlag, "GET", key)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Del 删除命令
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 16:19 2024/6/19
|
||||||
|
func (w *wrapper) Del(ctx context.Context, instanceFlag string, keyList ...string) *define.RedisResult {
|
||||||
|
return Client.Exec(ctx, instanceFlag, "DEL", strings.Join(keyList, " "))
|
||||||
|
}
|
||||||
|
|
||||||
|
// SetEx 设置数据并且带有效期, 有效期单位 : s
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 16:22 2024/6/19
|
||||||
|
func (w *wrapper) SetEx(ctx context.Context, instanceFlag string, key string, value string, ttl int64, withLock bool) *define.RedisResult {
|
||||||
|
now := time.Now().Unix()
|
||||||
|
if ttl > now {
|
||||||
|
// 传入过期时间大于当前时间, 说明是指定具体时间过期, 做一下处理
|
||||||
|
ttl = ttl - now
|
||||||
|
}
|
||||||
|
if withLock {
|
||||||
|
return Client.Exec(ctx, instanceFlag, "SET", key, value, "EX", ttl, "NX")
|
||||||
|
}
|
||||||
|
return Client.Exec(ctx, instanceFlag, "SET", key, value, "EX", ttl)
|
||||||
|
}
|
||||||
|
|
||||||
|
// LPop ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 16:29 2024/6/19
|
||||||
|
func (w *wrapper) LPop(ctx context.Context, instanceFlag string, key string) *define.RedisResult {
|
||||||
|
return Client.Exec(ctx, instanceFlag, "LPOP", key)
|
||||||
|
}
|
||||||
|
|
||||||
|
// RPop ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 16:30 2024/6/19
|
||||||
|
func (w *wrapper) RPop(ctx context.Context, instanceFlag string, key string) *define.RedisResult {
|
||||||
|
return Client.Exec(ctx, instanceFlag, "RPOP", key)
|
||||||
|
}
|
||||||
|
|
||||||
|
// LPush ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 16:31 2024/6/19
|
||||||
|
func (w *wrapper) LPush(ctx context.Context, instanceFlag string, key string, value string) *define.RedisResult {
|
||||||
|
return Client.Exec(ctx, instanceFlag, "LPUSH", key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
// RPush ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 16:31 2024/6/19
|
||||||
|
func (w *wrapper) RPush(ctx context.Context, instanceFlag string, key string, value string) *define.RedisResult {
|
||||||
|
return Client.Exec(ctx, instanceFlag, "RPUSH", key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
// HGet ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 16:33 2024/6/19
|
||||||
|
func (w *wrapper) HGet(ctx context.Context, instanceFlag string, key string, field string) *define.RedisResult {
|
||||||
|
return Client.Exec(ctx, instanceFlag, "HGET", key, field)
|
||||||
|
}
|
||||||
|
|
||||||
|
// HSet ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 16:33 2024/6/19
|
||||||
|
func (w *wrapper) HSet(ctx context.Context, instanceFlag string, key string, field string, value string) *define.RedisResult {
|
||||||
|
return Client.Exec(ctx, instanceFlag, "HSET", key, field, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
// HDel ...
|
||||||
|
//
|
||||||
|
// Author : go_developer@163.com<白茶清欢>
|
||||||
|
//
|
||||||
|
// Date : 16:37 2024/6/19
|
||||||
|
func (w *wrapper) HDel(ctx context.Context, instanceFlag string, key string, fieldList ...string) *define.RedisResult {
|
||||||
|
return Client.Exec(ctx, instanceFlag, "HSET", key, strings.Join(fieldList, " "))
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user