from sanic import Sanic
from sanic.response import text, html, json
from jinja2 import Template
import uvloop
import asyncpg
import asyncio_redis
loop = uvloop.new_event_loop()
# 初始pg连接池
async def init_pgpool():
return await asyncpg.create_pool(database="postgres", user="postgres", password="asdf", loop=loop)
conn_pool = loop.run_until_complete(init_pgpool())
# 初始redis连接池
async def init_rdspool():
return await asyncio_redis.Pool.create(loop=loop)
redis = loop.run_until_complete(init_rdspool())
indexTpl = Template('hello {{ name }}')
app = Sanic(__name__)
@app.route('/')
async def index(req):
name = req.args.get('name')
if name is None:
name = 'unknow'
return html(indexTpl.render(name=name))
@app.route('/pg')
async def test(req):
await redis.set('sanic_', "fuck")
async with conn_pool.acquire() as conn:
# async with conn.transaction():
# async for record in conn.cursor('select * from temp'):
# print(record)
vs = await conn.fetch('select * from temp')
page = ''
for v in vs:
page += 'name:{:8} value:{}\n'.format(v['name'], v['addr'])
print(await redis.get('sanic_'))
return text(page)
app.run(port=8089, loop=loop)
sanic数据库、缓存、模板
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 我们的目的是让缓存,也就是默认的 Redis 存储到 0 号数据库,Session 存储在 1 号数据库。 配置 ...