| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package utils
- import (
- "context"
- "encoding/json"
- "time"
- "newaterobot-process/database"
- )
- // RedisUtil Redis工具类
- type RedisUtil struct{}
- var redisUtil = new(RedisUtil)
- // GetRedisUtil 获取Redis工具实例
- func GetRedisUtil() *RedisUtil {
- return redisUtil
- }
- // SetString 设置字符串值
- func (r *RedisUtil) SetString(key, value string, expiration time.Duration) error {
- return database.RedisClient.Set(context.Background(), key, value, expiration).Err()
- }
- // GetString 获取字符串值
- func (r *RedisUtil) GetString(key string) (string, error) {
- return database.RedisClient.Get(context.Background(), key).Result()
- }
- // SetObject 设置对象值
- func (r *RedisUtil) SetObject(key string, obj interface{}, expiration time.Duration) error {
- jsonData, err := json.Marshal(obj)
- if err != nil {
- return err
- }
- return database.RedisClient.Set(context.Background(), key, jsonData, expiration).Err()
- }
- // GetObject 获取对象值
- func (r *RedisUtil) GetObject(key string, obj interface{}) error {
- jsonData, err := database.RedisClient.Get(context.Background(), key).Result()
- if err != nil {
- return err
- }
- return json.Unmarshal([]byte(jsonData), obj)
- }
- // Exists 检查键是否存在
- func (r *RedisUtil) Exists(key string) (bool, error) {
- count, err := database.RedisClient.Exists(context.Background(), key).Result()
- if err != nil {
- return false, err
- }
- return count > 0, nil
- }
- // Del 删除键
- func (r *RedisUtil) Del(key string) error {
- return database.RedisClient.Del(context.Background(), key).Err()
- }
- // Expire 设置键过期时间
- func (r *RedisUtil) Expire(key string, expiration time.Duration) error {
- return database.RedisClient.Expire(context.Background(), key, expiration).Err()
- }
- // SetExpire 设置带过期时间的键值对
- func (r *RedisUtil) SetExpire(key string, value interface{}, expiration time.Duration) error {
- return database.RedisClient.SetEX(context.Background(), key, value, expiration).Err()
- }
|