欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-16 09:24:35
...
有一个数据列表展示,分页,可按各种不同的条件进行筛选。
这种情况下怎么进行数据缓存比较好呢?

如果根据分页与筛选的条件作为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
突然清醒过来,这种情况貌似真不应该用缓存。。