github.com/fengyoulin/shm@v0.0.0-20200305015033-287e184bdf0a/README.md (about) 1 # shm # 2 3 A hash map implemented in a shared memory mapping. 4 5 Example: 6 ```go 7 package main 8 9 import ( 10 "github.com/fengyoulin/shm" 11 "log" 12 "time" 13 ) 14 15 func main() { 16 m, err := shm.Create("map.db", 4096, 40, 32, 20, time.Second) 17 if err != nil { 18 log.Fatalln(err) 19 } 20 21 defer func() { 22 err = m.Close() 23 if err != nil { 24 log.Fatalln(err) 25 } 26 }() 27 28 // get or add a key 29 b, err := m.Get("1a2b3c4d5e6f", true) 30 if err != nil { 31 log.Fatalln(err) 32 } 33 34 // do something with b 35 log.Println(cap(b)) 36 37 // iterate over the map 38 m.Foreach(func(key string, value []byte) bool { 39 log.Printf("key: %s\n", key) 40 return true 41 }) 42 // m.Delete("key") 43 } 44 ```