Categorygithub.com/mailgun/ttlmap
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

Build Status

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

# Structs

No description provided by the author

# Type aliases

No description provided by the author
No description provided by the author