| 1234567891011121314151617181920212223242526272829303132333435 |
- package distcache
- import (
- "time"
- gocache "github.com/patrickmn/go-cache"
- )
- type memoryStorage struct {
- c *gocache.Cache
- }
- func newMemoryStorage() *memoryStorage {
- return &memoryStorage{
- c: gocache.New(time.Minute*30, time.Minute*30),
- }
- }
- func (s *memoryStorage) Put(key string, val interface{}, expires time.Duration) error {
- return s.c.Add(key, val, expires)
- }
- func (s *memoryStorage) Get(key string) (interface{}, error) {
- val, exist := s.c.Get(key)
- if !exist {
- return nil, ErrCacheItemNotFound
- }
- return val, nil
- }
- func (s *memoryStorage) Delete(key string) error {
- s.c.Delete(key)
- return nil
- }
|