Files
x_admin/server/util/aj-captcha-go/service/mem_cache_service.go
2024-02-25 22:01:41 +08:00

49 lines
934 B
Go

package service
import (
"strconv"
"x_admin/util/aj-captcha-go/util"
)
type MemCacheService struct {
Cache *util.CacheUtil
}
func NewMemCacheService(captchaCacheMaxNumber int) CaptchaCacheInterface {
return &MemCacheService{Cache: util.NewCacheUtil(captchaCacheMaxNumber)}
}
func (l *MemCacheService) Get(key string) string {
return l.Cache.Get(key)
}
func (l *MemCacheService) Set(key string, val string, expiresInSeconds int) {
l.Cache.Set(key, val, expiresInSeconds)
}
func (l *MemCacheService) Delete(key string) {
l.Cache.Delete(key)
}
func (l *MemCacheService) Exists(key string) bool {
return l.Cache.Exists(key)
}
func (l *MemCacheService) GetType() string {
return "mem"
}
func (l *MemCacheService) Increment(key string, val int) int {
cacheVal := l.Cache.Get(key)
num, err := strconv.Atoi(cacheVal)
if err != nil {
num = 0
}
ret := num + val
l.Cache.Set(key, strconv.Itoa(ret), 0)
return ret
}