如何从redis数据库中获取有限的结果集

时间:2018-03-29 05:17:23

标签: python redis

我正在使用redis作为主数据库在CherryPy中构建一个Web应用程序,现在我有很多关键值存储在数据库中,我想每页只显示10个条目。所以我只想知道在这种情况下使用redis scanimport redis import json import cherrypy from controllers.base import BaseController con = redis.Redis(host='localhost', port=6379, db=3) class HomeController(BaseController): @cherrypy.expose def index(self): outdata = [] keys = con.keys() for key in keys: dt = con.get(key) dat = dt.decode('utf-8') res = json.loads(dat) outdata.append(res) return self.render_template('home/index.html', {'outdata' : outdata})

finally{
    try{
        bfw.close();   <== exception occured here
        pw.close();    <== this is not execute
    }catch(Exception e){
        e.printStackTrace();
    }
}

1 个答案:

答案 0 :(得分:0)

你可以使用redis-py库中的两个函数之一,scan_itrscan(你的代码片段使用的StrictRedis而不是Redis类的一部分)

重要的是要注意扫描不保证项目不会再次显示或扫描时会返回新的密钥。查看更多info的官方文档。