瓶子的基于redis的会话。
bottle-session的Python项目详细描述
与redis的瓶子会话
==
瓶子会话是瓶子微结构的会话管理器,它使用
cookie来维护您的web会话,并使用redis键值存储与该
cookie相关联的哈希。它被设计成一个简单的瓶子
插件。
瓶子会话
$python setup.py install
requirements
----
要使用瓶子会话,必须同时安装redis和
瓶子模块。我也建议安装pycrypto,尽管它不是必需的。如果安装了pycrypto,则pycrypto随机数
生成器用于生成会话cookie,否则,使用python的内部
随机数生成器。
初始化插件:
:::python
app=bottle.app()
plugin=bottle_session.sessionplugin(cookie_lifetime=600)
app.install(plugin)
将生存期显式设置为**无**,则它将持续1周。
`sessionplugin`类初始值设定项有几个可选参数:
-`host`是redis实例的主机。默认为“localhost”。
-`port`是redis实例的端口。默认为“6379”。
-`db'是redis数据库号。默认为“0”。
-`cookie_name`是会话cookie的名称。默认为
`bottle.session`.
-`keyword`是插件关键字。默认为“session”。
-“password”是redis实例的可选密码。默认为
无。
若要使用插件,只需将关键字(`session`默认值)添加到routed
方法:
:::python
@bottle.route('/')
def index(session):
user-name=session.get('name')
如果user-name不是none:
return“您好,%s“%用户名
其他:
返回“我认不出你。”
@bottle.route('/set/:用户名')
def set\u name(session,user\u name=none):
如果用户名不是none:
session['name']=用户名
返回“我现在认你。”
其他:
返回“我认不出你了”是吗?”
bottle.debug(true)
bottle.run(app=app,host='localhost',port=8888)
在本例中,可以通过访问“http://localhost:8888/set/chris”将会话cookie的“name”属性设置为chris
,然后在访问“http://localhost:8888/”时检索该值。
使用瓶子会话和瓶子redis
您可以同时使用这两个插件,甚至可以让它们使用同一个连接池。
在将它们安装到瓶子应用程序之前,通过创建连接池来初始化它们,该连接池连接到每个插件
对象,如下所示:
:::python
/usr/bin/env python
import bottle_session
import bottle_redis
import bottle
import redis
from datetime import datetime
app=bottle.app()
session_plugin=bottle_session.sessionplugin()
redis_plugin=bottle_redis.redisplugin()
=redis.connectionpool(主机='localhost',端口=6379)
session_plugin.connection_pool=connection_pool
redis_plugin.redisdb=connection_pool
app.install(session_plugin)
app.install(redis_plugin)
@bottle.route('/')
def index(session,rdb):
rdb.incr('visitor s')
visitor=rdb.get('visitors')
last-visit=session['visit']
session['visit']=datetime.now().isoformat()
return“您是访问者%s,您的最后一次访问是在%s%(visitor,last-visit)
bottle.debug(true)
bottle.run(app=app,host='localhost',port=8888)
感谢詹姆斯·伯克的贡献。
==
瓶子会话是瓶子微结构的会话管理器,它使用
cookie来维护您的web会话,并使用redis键值存储与该
cookie相关联的哈希。它被设计成一个简单的瓶子
插件。
瓶子会话
$python setup.py install
requirements
----
要使用瓶子会话,必须同时安装redis和
瓶子模块。我也建议安装pycrypto,尽管它不是必需的。如果安装了pycrypto,则pycrypto随机数
生成器用于生成会话cookie,否则,使用python的内部
随机数生成器。
初始化插件:
:::python
app=bottle.app()
plugin=bottle_session.sessionplugin(cookie_lifetime=600)
app.install(plugin)
`sessionplugin`类初始值设定项有几个可选参数:
-`host`是redis实例的主机。默认为“localhost”。
-`port`是redis实例的端口。默认为“6379”。
-`db'是redis数据库号。默认为“0”。
-`cookie_name`是会话cookie的名称。默认为
`bottle.session`.
-`keyword`是插件关键字。默认为“session”。
-“password”是redis实例的可选密码。默认为
无。
若要使用插件,只需将关键字(`session`默认值)添加到routed
方法:
:::python
@bottle.route('/')
def index(session):
user-name=session.get('name')
如果user-name不是none:
return“您好,%s“%用户名
其他:
返回“我认不出你。”
@bottle.route('/set/:用户名')
def set\u name(session,user\u name=none):
如果用户名不是none:
session['name']=用户名
返回“我现在认你。”
其他:
返回“我认不出你了”是吗?”
bottle.debug(true)
bottle.run(app=app,host='localhost',port=8888)
在本例中,可以通过访问“http://localhost:8888/set/chris”将会话cookie的“name”属性设置为chris
,然后在访问“http://localhost:8888/”时检索该值。
使用瓶子会话和瓶子redis
您可以同时使用这两个插件,甚至可以让它们使用同一个连接池。
在将它们安装到瓶子应用程序之前,通过创建连接池来初始化它们,该连接池连接到每个插件
对象,如下所示:
:::python
/usr/bin/env python
import bottle_session
import bottle_redis
import bottle
import redis
from datetime import datetime
app=bottle.app()
session_plugin=bottle_session.sessionplugin()
redis_plugin=bottle_redis.redisplugin()
=redis.connectionpool(主机='localhost',端口=6379)
session_plugin.connection_pool=connection_pool
redis_plugin.redisdb=connection_pool
app.install(session_plugin)
app.install(redis_plugin)
@bottle.route('/')
def index(session,rdb):
rdb.incr('visitor s')
visitor=rdb.get('visitors')
last-visit=session['visit']
session['visit']=datetime.now().isoformat()
return“您是访问者%s,您的最后一次访问是在%s%(visitor,last-visit)
bottle.debug(true)
bottle.run(app=app,host='localhost',port=8888)
感谢詹姆斯·伯克的贡献。