map1 := make(map[string]int)
key1 := map1["str1"]
但是发现有些 go 项目源码偏向使用 Redis 等第三方的 map.
import (
github.com/go-redis/redis"
)
client := redis.NewClient(&redis.Options{
Addr: "localhost:6379",
Password: "",
DB: 0,
})
client.Ping()
client.HSet("myhash", "key1", "value1")
value1, err := client.HGet("myhash", "")
然后看到项目的 map 并不是并发使用的,数据量也不是特别大。(有些并没有持久需求的也在使用 redis )
go map 和 redis map 都是内存使用的,而且速度也很快。但是很多需要查找 hash 关系表的项目,偏向使用如 redis map 等第三方表。
我粗略测试了一下,没看出什么区别(可能我测试数据较小)。如果排除 go map 不能并发读写外与 Redis Map 使用性能差别有多大