| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package service
- import (
- "encoding/json"
- "time"
- "newaterobot-process/utils"
- )
- // RedisService Redis服务
- type RedisService struct {
- redisUtil *utils.RedisUtil
- }
- var redisService = new(RedisService)
- // NewRedisService 创建Redis服务实例
- func NewRedisService() *RedisService {
- return &RedisService{
- redisUtil: utils.GetRedisUtil(),
- }
- }
- // GetRedisService 获取Redis服务实例
- func GetRedisService() *RedisService {
- return redisService
- }
- // SetString 设置字符串值
- func (r *RedisService) SetString(key, value string, expiration time.Duration) error {
- return r.redisUtil.SetString(key, value, expiration)
- }
- // GetString 获取字符串值
- func (r *RedisService) GetString(key string) (string, error) {
- return r.redisUtil.GetString(key)
- }
- // SetObject 设置对象值
- func (r *RedisService) SetObject(key string, obj interface{}, expiration time.Duration) error {
- return r.redisUtil.SetObject(key, obj, expiration)
- }
- // GetObject 获取对象值
- func (r *RedisService) GetObject(key string, obj interface{}) error {
- return r.redisUtil.GetObject(key, obj)
- }
- // Exists 检查键是否存在
- func (r *RedisService) Exists(key string) (bool, error) {
- return r.redisUtil.Exists(key)
- }
- // Del 删除键
- func (r *RedisService) Del(key string) error {
- return r.redisUtil.Del(key)
- }
- // SetExpire 设置带过期时间的键值对
- func (r *RedisService) SetExpire(key string, value interface{}, expiration time.Duration) error {
- return r.redisUtil.SetExpire(key, value, expiration)
- }
- // GetAndDecode 获取并解码JSON对象
- func (r *RedisService) GetAndDecode(key string, dest interface{}) error {
- data, err := r.redisUtil.GetString(key)
- if err != nil {
- return err
- }
- return json.Unmarshal([]byte(data), dest)
- }
- // Increment 增加计数器
- func (r *RedisService) Increment(key string) error {
- return utils.GetRedisUtil().SetExpire(key, 1, time.Hour)
- }
|