This commit is contained in:
wangchuxiao 2023-03-24 17:59:20 +08:00
parent 3d647ee41b
commit 2fa02983fb

View File

@ -4,8 +4,10 @@ import (
"context" "context"
"encoding/json" "encoding/json"
"errors" "errors"
"time" "time"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
"github.com/OpenIMSDK/Open-IM-Server/pkg/utils" "github.com/OpenIMSDK/Open-IM-Server/pkg/utils"
"github.com/dtm-labs/rockscache" "github.com/dtm-labs/rockscache"
) )
@ -33,6 +35,7 @@ type metaCacheRedis struct {
func (m *metaCacheRedis) ExecDel(ctx context.Context) error { func (m *metaCacheRedis) ExecDel(ctx context.Context) error {
if len(m.keys) > 0 { if len(m.keys) > 0 {
log.ZDebug(ctx, "DelKey", "keys", m.keys)
return m.rcClient.TagAsDeletedBatch2(ctx, m.keys) return m.rcClient.TagAsDeletedBatch2(ctx, m.keys)
} }
return nil return nil
@ -86,10 +89,9 @@ func getCache[T any](ctx context.Context, rcClient *rockscache.Client, key strin
} }
func batchGetCache[T any](ctx context.Context, rcClient *rockscache.Client, keys []string, expire time.Duration, keyIndexFn func(t T, keys []string) (int, error), fn func(ctx context.Context) ([]T, error)) ([]T, error) { func batchGetCache[T any](ctx context.Context, rcClient *rockscache.Client, keys []string, expire time.Duration, keyIndexFn func(t T, keys []string) (int, error), fn func(ctx context.Context) ([]T, error)) ([]T, error) {
var tArrays []T
batchMap, err := rcClient.FetchBatch2(ctx, keys, expire, func(idxs []int) (m map[int]string, err error) { batchMap, err := rcClient.FetchBatch2(ctx, keys, expire, func(idxs []int) (m map[int]string, err error) {
values := make(map[int]string) values := make(map[int]string)
tArrays, err = fn(ctx) tArrays, err := fn(ctx)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@ -109,6 +111,7 @@ func batchGetCache[T any](ctx context.Context, rcClient *rockscache.Client, keys
if err != nil { if err != nil {
return nil, err return nil, err
} }
var tArrays []T
for _, v := range batchMap { for _, v := range batchMap {
if v != "" { if v != "" {
var t T var t T