cache.go 536 B

1234567891011121314151617181920212223242526
  1. package admin
  2. import (
  3. "zhiyuan/models"
  4. "zhiyuan/pkg/redis"
  5. "zhiyuan/pkg/utils"
  6. )
  7. const adminCachePrefix = "admin_cache_"
  8. func GetAdminCache(id int) *models.Admin {
  9. cacheKey := adminCachePrefix + utils.ToStr(id)
  10. result, err := redis.Get(cacheKey)
  11. var admin *models.Admin
  12. if err != nil || id == 1 {
  13. admin, err = GetInfoByID(id, nil, nil)
  14. _ = redis.Set(cacheKey, admin, 3600)
  15. } else {
  16. utils.JsonDecode(result).To(&admin)
  17. }
  18. return admin
  19. }
  20. func ClearAdminCache(id int) {
  21. redis.Del(adminCachePrefix + utils.ToStr(id))
  22. }