求分页筛选的数据缓存方案

原创
2016-06-23 14:13:28 961浏览

有一个数据列表展示,分页,可按各种不同的条件进行筛选。
这种情况下怎么进行数据缓存比较好呢?

如果根据分页与筛选的条件作为key去缓存的话,那得缓存N多组数据了。


回复讨论(解决方案)

这个需要缓存只有N多组进行缓存的了,除非是一个大缓存;将所有数据缓存。然后用数组进行筛选

缓存所有数据,在根据条件筛选的话,太不实际了。
如果每次筛选时,根据筛选条件进行缓存的话,又可能会出现N多缓存,有可能占的缓存太多了。

那么为什么要缓存呢?

如果真心要缓存的话,可以分2级缓存,不过还是要问,这么动态的内容,要什么缓存?

1、缓存所有的数据,id做索引
2、缓存分页和筛选条件,内容只有1的id

各种条件筛选结果的第一页缓存的时间长点,第二页开始缓存的时间短点吧。

如果真心要缓存的话,可以分2级缓存,不过还是要问,这么动态的内容,要什么缓存?

1、缓存所有的数据,id做索引
2、缓存分页和筛选条件,内容只有1的id

内容只有1的id 是啥意思呢。。。


如果真心要缓存的话,可以分2级缓存,不过还是要问,这么动态的内容,要什么缓存?

1、缓存所有的数据,id做索引
2、缓存分页和筛选条件,内容只有1的id

内容只有1的id 是啥意思呢。。。

假设你的数据是

id name xx
1 a xx
2 b xx

那么 1 缓存的应该是这个数据的全集,即

1 => a,xx
2 => b,xx

则分页+筛选的条件则是

分页n+筛选条件 => 1,2

这样可以通过分页+筛选可以获取缓存1中的所需要的集合(即1,2),通过这个集合再去全集缓存中获取真实数据



如果真心要缓存的话,可以分2级缓存,不过还是要问,这么动态的内容,要什么缓存?

1、缓存所有的数据,id做索引
2、缓存分页和筛选条件,内容只有1的id

内容只有1的id 是啥意思呢。。。

假设你的数据是

id name xx
1 a xx
2 b xx

那么 1 缓存的应该是这个数据的全集,即

1 => a,xx
2 => b,xx

则分页+筛选的条件则是

分页n+筛选条件 => 1,2

这样可以通过分页+筛选可以获取缓存1中的所需要的集合(即1,2),通过这个集合再去全集缓存中获取真实数据


原来是这样

如果真心要缓存的话,可以分2级缓存,不过还是要问,这么动态的内容,要什么缓存?

1、缓存所有的数据,id做索引
2、缓存分页和筛选条件,内容只有1的id
突然清醒过来,这种情况貌似真不应该用缓存。。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。