我有一个函数,根据用户所在的页面构建查询,通过参数数组值,一旦构建查询,然后返回,所以我们可以执行它并获得我们想要的结果。
我们需要把缓存放在上面,所以我们可以加快速度,我真的很混淆如何制作缓存ID,因此查询是一种动态的(取决于数组值),也可以有搜索值,也会不时地改变结果,取决于你要搜索的内容。
我的问题是,无论如何我可以使用返回查询(select * from ... .. ..)和make和id,也许使用md5或其他方式,如果查询相同则保持相同如果查询不同,会进行更改吗?
答案 0 :(得分:0)
如果您使用查询的MD5,您将无法在稍后的memcache日志中识别密钥。
GET SQLCache:ad98234080acaffaac908233不是很好。
最好的方法是命名密钥
Cache.set('catalog:books:1-200',书籍)和每个Cache.set页面存储“N”项的块。这将使您能够根据需要构建特定的页面块。
遍历列表并不总是处理大量数据的最佳方式。
您可以每天在摘要表中预先构建“列表”,然后从那里缓存结果。
-daniel