52 lines
1.4 KiB
Go
52 lines
1.4 KiB
Go
package gfredis
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/gogf/gf/v2/util/gconv"
|
|
"github.com/redis/go-redis/v9"
|
|
)
|
|
|
|
func (r *Redis) HMSet(ctx context.Context, key string, mp map[string]interface{}) error {
|
|
mp2 := make(map[string]string)
|
|
for k, v := range mp {
|
|
mp2[k] = gconv.String(v)
|
|
}
|
|
cmd := r.rdb.HMSet(ctx, key, mp2)
|
|
return cmd.Err()
|
|
}
|
|
func (r *Redis) HGetAll(ctx context.Context, key string) (map[string]string, error) {
|
|
cmd := r.rdb.HGetAll(ctx, key)
|
|
return cmd.Val(), cmd.Err()
|
|
}
|
|
|
|
func (r *Redis) HGet(ctx context.Context, key, field string) (string, error) {
|
|
cmd := r.rdb.HGet(ctx, key, field)
|
|
if cmd.Err() == redis.Nil {
|
|
return "", nil
|
|
}
|
|
return cmd.Val(), cmd.Err()
|
|
}
|
|
|
|
func (r *Redis) HSet(ctx context.Context, key string, mp map[string]interface{}) error {
|
|
mp2 := make(map[string]string)
|
|
for k, v := range mp {
|
|
mp2[k] = gconv.String(v)
|
|
}
|
|
cmd := r.rdb.HSet(ctx, key, mp2)
|
|
return cmd.Err()
|
|
}
|
|
|
|
func (r *Redis) HSetNX(ctx context.Context, key, field string, value interface{}) (bool, error) {
|
|
cmd := r.rdb.HSetNX(ctx, key, field, gconv.String(value))
|
|
return cmd.Val(), cmd.Err()
|
|
}
|
|
func (r *Redis) HDel(ctx context.Context, key string, field string) (int64, error) {
|
|
cmd := r.rdb.HDel(ctx, key, field)
|
|
return cmd.Val(), cmd.Err()
|
|
}
|
|
func (r *Redis) HLen(ctx context.Context, key string) (int64, error) {
|
|
cmd := r.rdb.HLen(ctx, key)
|
|
return cmd.Val(), cmd.Err()
|
|
}
|