Files
mayfly-go/server/pkg/rediscli/rediscli.go
meilin.huang 17d96acceb refactor: interface{} -> any
feat: 新增外链菜单
2023-06-01 12:31:32 +08:00

60 lines
1.1 KiB
Go

package rediscli
import (
"context"
"time"
"github.com/redis/go-redis/v9"
)
var cli *redis.Client
func SetCli(client *redis.Client) {
cli = client
}
func GetCli() *redis.Client {
return cli
}
// get key value
func Get(key string) (string, error) {
return cli.Get(context.TODO(), key).Result()
}
// set key value
func Set(key string, val string, expiration time.Duration) {
cli.Set(context.TODO(), key, val, expiration)
}
func Del(key string) {
cli.Del(context.TODO(), key)
}
func HSet(key string, field string, val any) {
cli.HSet(context.TODO(), key, field, val)
}
// hget
func HGet(key string, field string) string {
val, _ := cli.HGet(context.TODO(), key, field).Result()
return val
}
// hget
func HExist(key string, field string) bool {
val, _ := cli.HExists(context.TODO(), key, field).Result()
return val
}
// hgetall
func HGetAll(key string) map[string]string {
vals, _ := cli.HGetAll(context.TODO(), key).Result()
return vals
}
// hdel
func HDel(key string, fields ...string) int {
return int(cli.HDel(context.TODO(), key, fields...).Val())
}