首頁 >後端開發 >php教程 >求分页筛选的数据缓存方案

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

WBOY
WBOY原創
2016-06-23 14:13:281311瀏覽

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

如果根据分页与筛选的条件作为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