modulepackage
0.0.0-20170619185759-c1c17f74874f
Repository: https://github.com/mailgun/ttlmap.git
Documentation: pkg.go.dev
# README
This repo is deprecated, Renamed to TTLMap and moved to http://github.com/mailgun/holster
TtlMap
Redis-like Map with expiry times and maximum capacity
import "github.com/mailgun/ttlmap"
mh, _ := ttlmap.NewMap(20)
mh.Set("key1", "value", 20)
valI, exists := mh.Get("key2")
if exists {
val := valI.(string)
}
The ttlmap is not thread safe by default. You can either create a thread safe
instance with ttlmap.NewConcurrent
that is effectively using sync.RWLock
,
or implement locking in you application. Beware though that at the application
level sync.RWLock
cannot be used, because ttlmap.Get
can occasionally
modifies the internal data structure.
# Functions
CallOnExpire will call this callback on expiration of elements.
Clock sets the time provider clock, handy for testing.
No description provided by the author
No description provided by the author
No description provided by the author