外观
操作Redis数据库
为了充分利用Tornado框架的异步效果,一般与非关系型数据库结合使用,使用最广泛的就是Redis数据库。
使用Tornado-Redis就可以连接Redis数据库。该库为Tornado框架可用的异步Redis客户端,它是一个第三方库,可以使用pip install Tornado-Redis安装。需要注意,Tornado 5.0.2以上版本与Tornado-Redis不兼容,会提示“ImportError: cannot import name 'stack_context' from tornado”。
Tornado-Redis有两种连接方式。
- 普通连接方式
首先导入tornadoredis,然后调用Client()方法连接客户端。示例代码如下:
import tornadoredis
c = tornadoredis.Client(host='localhost', port=6379)
c.set('name', 'qi1')若运行上述代码中出现如下错误:
TypeError: __init__() got an unexpected keyword argument 'io_loop'
需要在虚拟环境中找到Tornado-MySQL安装路径,然后修改tornadoredis下的client.py,找到如下代码:
self.__stream = IOStream(sock, io_loop=self.io_loop)去掉后面的关键字参数即可。
- 连接池方式
首先导入tornadoredis,然后调用tornadoredis的ConnectionPool()方法连接客户端,示例代码如下:
import tornadoredis
CONNECTION_POOL = tornadoredis.ConnectionPool(max_connections=100, wait_for_available=True)
c = tornadoredis.Client(host='localhost', port=6379, connection_pool=CONNECTION_POOL)
c.set('age', 18)