
Go 查询,简单一点。
一个客户端,多种数据类型。
共享缓存、后台刷新与按需失效。
go get github.com/Waterkyuu/soroi一个客户端,多种类型。
User 用户详情与 []User 用户列表使用同一客户端,各自保留类型。
type User struct { Name string}
loadUser := func(context.Context) (User, error) { return User{Name: "Alice"}, nil}loadUsers := func(context.Context) ([]User, error) { return []User{{Name: "Alice"}}, nil}
client := soroi.NewClient(soroi.Options{ StaleTime: time.Minute,})defer client.Close()
profile := soroi.Query(client, "user:42", loadUser)users := soroi.Query(client, "users", loadUsers)defer profile.Close()defer users.Close()