View Code? Open in Web Editor
NEW
Go语言微服务实战,go-micro+gin+gorm+rabbitMQ 构造简单备忘录,包括ETCD作为服务发现,JWT鉴权,降级熔断等等
License: MIT License
micro-todolist's Introduction
Hello!茫茫人海, 感谢相遇 ✨
micro-todolist's People
micro-todolist's Issues
作者这里的的缓存 InitUserInfo()
方法有问题吧
如果用 user_key
作为缓存的 key :
- 第二帐户登录的时候,缓存会覆盖。
- 如果这时候,第一个帐户的 token没有过期,然后在
task
中调用 GetUserInfo()
, 拿到的是第二个用户的信息。
|
var userKey string = "user_key" |
|
|
|
type UserInfo struct { |
|
Id uint `json:"id"` |
|
} |
|
|
|
func InitUserInfo(ctx context.Context, user *UserInfo) error { |
|
cachedUser, err := GetUserInfo(ctx) |
|
if err != nil { |
|
return err |
|
} |
|
|
|
// 如果缓存中存在用户信息,直接返回 |
|
if cachedUser != nil { |
|
return nil |
|
} |
|
|
|
// 如果缓存中不存在用户信息,将用户信息存储到缓存中 |
|
if err := SetUserInCache(ctx, user, cache.RedisClient); err != nil { |
|
return err |
|
} |
|
|
|
return nil |
|
} |
|
|
在app/task/repository/mq/task文件下的task_sync.go 中关于forever通道只使用了var声明,而最后直接取值,这部分有问题吗?
hello, 用127.0.0.1:4000/api/v1/ping无法访问,请问如何解决?
![1644388571(1)](https://user-images.githubusercontent.com/56350560/153135329-c07296ed-63df-4084-980d-8ffbd1dfda68.png)
补上即可