关于分页控件的DATATABLE数据保存有关问题

关于分页控件的DATATABLE数据保存问题
我现在做一个页面显示帖子,然后用到了分页控件,其中遇到一个问题,就是分页控件中有一个下拉框,用来显示第几页数据,
然后我的做法是每次将数据库中的数据读取到一个DATATABLE当中,然后每次分页都必须重新把刚才的数据重新查询一遍,
这样效率很低,我想问下应该用什么方法保存DATATABLE中的数据好让每次用户切换页面的时候不必重复查询相同的数据,从数据库中。
现在方法有如下几次,我自己想的,但是不知道哪种效率高,希望高手指点下:
1:每次分页重复查询下数据库,但是查询的都是相同的数据存到相同的DATATABLE中,这样每次用户切换页面都养重复查询这个DATATABLE.
2:将DATATABLE存在VIEWSTATE中,这个测试后发现VIEWSTATE多了8K字节以上的数据,这样做每次服务器和客户端都要重复的传送这么多数据,不知道一般一个页面能够承受多大的VIEWSTATE也就是用户不会感觉网页打不开。
3:将数据DATATABLE存在SESSION中,但是每个用户在服务器开辟一个8K以上的SESSION我又 怕服务器受不了,不知道一般SESSION多大才不会影响服务器。
还有没有更好办法,希望大家指导啊。。。。。

------解决方案--------------------
可以把datatable数据放在缓存cache中,定义一个过期时间,然后查询cache就可以了,这样就避免了过多的数据库查询