mirror of
https://gitee.com/dromara/mayfly-go
synced 2026-03-10 20:15:46 +08:00
refactor: 机器计划任务与流程定义关联至标签
This commit is contained in:
21
server/pkg/cache/str_cache.go
vendored
21
server/pkg/cache/str_cache.go
vendored
@@ -6,7 +6,10 @@ import (
|
||||
"mayfly-go/pkg/rediscli"
|
||||
"mayfly-go/pkg/utils/anyx"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/may-fly/cast"
|
||||
)
|
||||
|
||||
var tm *TimedCache
|
||||
@@ -54,7 +57,7 @@ func Get[T any](key string, valPtr T) bool {
|
||||
return true
|
||||
}
|
||||
|
||||
// 如果系统有设置redis信息,则使用redis存,否则存于本机内存。duration == -1则为永久缓存
|
||||
// SetStr 如果系统有设置redis信息,则使用redis存,否则存于本机内存。duration == -1则为永久缓存
|
||||
func SetStr(key, value string, duration time.Duration) error {
|
||||
if !UseRedisCache() {
|
||||
checkCache()
|
||||
@@ -63,7 +66,7 @@ func SetStr(key, value string, duration time.Duration) error {
|
||||
return rediscli.Set(key, value, duration)
|
||||
}
|
||||
|
||||
// 如果系统有设置redis信息,则使用redis存,否则存于本机内存。duration == -1则为永久缓存
|
||||
// Set 如果系统有设置redis信息,则使用redis存,否则存于本机内存。duration == -1则为永久缓存
|
||||
func Set(key string, value any, duration time.Duration) error {
|
||||
strVal := anyx.ToString(value)
|
||||
if !UseRedisCache() {
|
||||
@@ -83,6 +86,20 @@ func Del(key string) {
|
||||
rediscli.Del(key)
|
||||
}
|
||||
|
||||
// DelByKeyPrefix 根据key前缀删除满足前缀的所有缓存
|
||||
func DelByKeyPrefix(keyPrefix string) error {
|
||||
if !UseRedisCache() {
|
||||
checkCache()
|
||||
for key := range tm.Items() {
|
||||
if strings.HasPrefix(cast.ToString(key), keyPrefix) {
|
||||
tm.Delete(key)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
return rediscli.DelByKeyPrefix(keyPrefix)
|
||||
}
|
||||
|
||||
func UseRedisCache() bool {
|
||||
return rediscli.GetCli() != nil
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ import "fmt"
|
||||
|
||||
const (
|
||||
AppName = "mayfly-go"
|
||||
Version = "v1.8.2"
|
||||
Version = "v1.8.3"
|
||||
)
|
||||
|
||||
func GetAppInfo() string {
|
||||
|
||||
@@ -30,8 +30,21 @@ func Set(key string, val string, expiration time.Duration) error {
|
||||
return cli.Set(context.TODO(), key, val, expiration).Err()
|
||||
}
|
||||
|
||||
func Del(key string) {
|
||||
cli.Del(context.TODO(), key)
|
||||
// Del 删除key
|
||||
func Del(key string) (int64, error) {
|
||||
return cli.Del(context.TODO(), key).Result()
|
||||
}
|
||||
|
||||
// DelByKeyPrefix 根据key前缀删除key
|
||||
func DelByKeyPrefix(keyPrefix string) error {
|
||||
res, err := cli.Keys(context.TODO(), keyPrefix+"*").Result()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for _, key := range res {
|
||||
Del(key)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func HSet(key string, field string, val any) {
|
||||
|
||||
Reference in New Issue
Block a user