记录Python常用的组件
redis
redis模块用于Python连接redis数据库。redis提供了两个类Redis和StrictRedis用于实现Redis的命令。
安装redis
|
|
基本使用
|
|
decode_responses=True,表示写入的键值对中的value为字符串类型,为False(默认值)表示写入字节类型。
除了直连方式,redis还提供了连接池功能,这样可以更优的使用连接:
set命令
set命令的语法为:set(name, value, ex=None, px=None nx=False, xx=False)
ex:过期时间-秒
nx:过期时间-毫秒
px:设置True时,只有name不存在时才执行
xx:设置True时,只有name存在时才执行
其他命令 >> https://www.jianshu.com/p/2639549bedc8
mysql
MySQLdb是用于Pyton连接Mysql数据库的接口,它实现了Python数据库API规范V2.0,基于MySQL C API上建立的。
安装MySQLdb
在通过如下脚本引入 MySQLdb 模块时
如果发生如下报错:
则说明,当前python环境中没有安装 MySQLdb模块。
安装MySQLdb可以参考“https://pypi.python.org/pypi/MySQL-python”,基本上执行
命令就可以了。
基本使用
MySQLdb的使用指南:https://mysqlclient.readthedocs.io/user_guide.html#mysqldb
使用这个模块,首先就是导入:
然后调用MySQLdb的connect方法与server建立连接:
建立连接后,就可以用来创建游标,并使用游标来进行各种操作:
使用用例
Zookeeper
Python中用于操作Zookeeper的模块是 kazoo。
安装kazoo
基本使用
要想使用kazoo,需要先进行导入
然后便可以创建Zookeeper客户端
timeout 是连接超时时间
logger 是用来进行日志输出的日志对象
|
|
其他方法可以参考kazoo的文档
使用用例
logging
loggine模块用来处理日志信息。
基本使用
|
|
上面使用过实例化logging.logger,然后给logger添加所需的设置,除此之外,我们还可以通过
配置文件定义如下:
然后使用配置文件初始化logging
Formatter的设置
%(levelno)s:打印日志的级别数值信息。
%(levelname)s:打印日志的级别名称。
%(pathname)s:打印当前执行程序的路径信息。
%(filenae)s:打印当前执行程序的名字。
%(funcName)s:打印当前的函数名。
%(lineno)d:打印日志的当前行号。
%(asctime)s:打印日志的时间。
%(thread)d:打印线程ID。
%(threadName)s:打印线程名称。
%(process)d:打印进程ID。
%(message)s:打印日志信息。
日志的滚动和日志保留个数
使用TimedRotatingFileHandler可以设置日志的滚动方式以及保留的日志文件个数。
when的取值
S:秒
M:分钟
H:小时
D:天
W:周
midnight:午夜。
如果选择D,不是以日期天来滚动的,是以启动日志时,24小时为一天算。
参考文档:https://docs.python.org/2/library/logging.config.html#logging-config-dictschema