31 lines
440 B
Go
31 lines
440 B
Go
package session
|
|
|
|
import (
|
|
"sync"
|
|
)
|
|
|
|
type MemoryStore struct {
|
|
store sync.Map
|
|
}
|
|
|
|
func (s *MemoryStore) Load(sessionID string) Values {
|
|
val, ok := s.store.Load(sessionID)
|
|
if ok {
|
|
return val.(Values)
|
|
}
|
|
|
|
return Values{}
|
|
}
|
|
|
|
func (s *MemoryStore) Save(sessionID string, value Values) error {
|
|
s.store.Store(sessionID, value)
|
|
|
|
return nil
|
|
}
|
|
|
|
func (s *MemoryStore) Remove(sessionID string) error {
|
|
s.store.Delete(sessionID)
|
|
|
|
return nil
|
|
}
|