mirror of
https://github.com/maxlerebourg/crowdsec-bouncer-traefik-plugin.git
synced 2026-07-21 19:48:59 +02:00
add vendor
This commit is contained in:
+53
@@ -0,0 +1,53 @@
|
||||
# Golang in-memory key-value storage with time-to-life
|
||||
|
||||
## Create new map
|
||||
|
||||
```go
|
||||
import ttl_map "github.com/leprosus/golang-ttl-map"
|
||||
|
||||
heap := ttl_map.New()
|
||||
heap.Path("/path/to/auto-save-file.tsv")
|
||||
```
|
||||
|
||||
## Set/Get
|
||||
|
||||
```go
|
||||
heap.Set("key", "value", 60)
|
||||
|
||||
value := heap.Get("key")
|
||||
```
|
||||
|
||||
## Save/Restore
|
||||
|
||||
```go
|
||||
heap.Save()
|
||||
|
||||
heap.Restore()
|
||||
```
|
||||
|
||||
## Save/Restore complex data structure
|
||||
|
||||
```go
|
||||
var m = map[string]string{}
|
||||
m["key"] = "value"
|
||||
|
||||
heap.Set("obj", m, 60)
|
||||
|
||||
heap.Support(map[string]string)
|
||||
|
||||
heap.Save()
|
||||
|
||||
heap.Restore()
|
||||
```
|
||||
|
||||
## List all methods
|
||||
|
||||
* New() - creates new map
|
||||
* Path(filePath) - sets file path to save/autosave/restore
|
||||
* Set(key, value, ttl) - adds value by key with ttl in seconds
|
||||
* Get(key) - returns value or empty string
|
||||
* Del(key) - deletes value by key
|
||||
* Range(fn func(key string, value string, ttl int64)) - iterates all actual data
|
||||
* Support(struct) - registers new structure support (the method is important in a case with complex structure or map)
|
||||
* Save() - saves map in tsv file
|
||||
* Restore() - restores map from tsv file
|
||||
Reference in New Issue
Block a user