func NewWithCleanupInterval(cleanupInterval time.Duration) *MemStore {
	m := &MemStore{
		items: make(map[string]item),
	}
	if cleanupInterval > 0 {
		go m.startCleanup(cleanupInterval)
	}
	return m
}
NewWithCleanupInterval returns a new MemStore instance. The cleanupInterval
parameter controls how frequently expired session data is removed by the
background cleanup goroutine. Setting it to 0 prevents the cleanup goroutine
from running (i.e. expired sessions will not be removed).
package memstore
import (
	"sync"
	"time"
)
type item struct {
	object     []byte
	expiration int64
}
type MemStore struct {
	items       map[string]item
	mu          sync.RWMutex
	stopCleanup chan bool
}
func New() *MemStore {
	return NewWithCleanupInterval(time.Minute)
}