|
- package repo
-
- import (
- "egg-im/internal/logic/domain/group/model"
- "egg-im/pkg/db"
- "egg-im/pkg/gerrors"
- "strconv"
- "time"
-
- "github.com/go-redis/redis"
- )
-
- const GroupNoticeKey = "group:notice:"
-
- type groupNoticeCache struct{}
-
- var GroupNoticeCache = new(groupNoticeCache)
-
- // Get 获取群组缓存
- func (c *groupNoticeCache) Get(groupId int64) (*model.GroupNotice, error) {
- var user model.GroupNotice
- err := db.RedisUtil.Get(GroupNoticeKey+strconv.FormatInt(groupId, 10), &user)
- if err != nil && err != redis.Nil {
- return nil, gerrors.WrapError(err)
- }
- if err == redis.Nil {
- return nil, nil
- }
- return &user, nil
- }
-
- // Set 设置群组缓存
- func (c *groupNoticeCache) Set(group *model.GroupNotice) error {
- err := db.RedisUtil.Set(GroupNoticeKey+strconv.FormatInt(group.Id, 10), group, 1*time.Hour)
- if err != nil {
- return gerrors.WrapError(err)
- }
- return nil
- }
-
- // Del 删除群组缓存
- func (c *groupNoticeCache) Del(groupId int64) error {
- _, err := db.RedisCli.Del(GroupNoticeKey + strconv.FormatInt(groupId, 10)).Result()
- if err != nil {
- return gerrors.WrapError(err)
- }
- return nil
- }
|