8treenet / gcache

gcache是gorm的中间件,插入后gorm即刻拥有缓存。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

请问根据主键查询为什么不能缓存呢?谢谢。

yiippee opened this issue · comments

感谢你的项目,很有帮助。
根据主键查询为什么不能缓存呢?
比如

db.Where("id = ?", 1).Take(&record)

这种语句就不能缓存,还是我哪里理解错了呢?谢谢。
请问如何hook gorm的呢?能大概说一下你的思路吗?或者有相关资料介绍?谢谢。

换成 first 或者find吧。 看下example_test.go

换成 first 或者find吧。 看下example_test.go

first也不行哦

example_test.go 我已经写好单测了,填写下redis和db的配置,跑一下。里面有很多缓存的示例。我不太了解你的情况。如果跑不通。可以在找。我给你我的微信

example_test.go 我已经写好单测了,填写下redis和db的配置,跑一下。里面有很多缓存的示例。我不太了解你的情况。如果跑不通。可以在找。我给你我的微信

好的,谢谢,我先仔细看看example,谢谢~~

commented

确实是主键查询不缓存的 ... 用 id =? 查询 debug了一下, call_query 里的 len(easyScope.condition.PrimaryValue)==0 是true