JackChenIter
redis-py概况
redis-py是一套使用Python编程语言访问Redis服务器的接口库。
1. 安装redis-py
2. 简单的使用示例
3. 连接Redis服务器
redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,其中StrictRedis实现了绝大部分Redis官方提供的接口,Redis继承自StrictRedis,提供对之前较老版本的接口的兼容支持。...
【转载】Redis 总结精讲
1. 为什么使用redis
分析:博主觉得在项目中使用redis,主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。
回答:如下所示,分为两点
(一)性能
如下图所示,我们在碰到需要执行耗时特别久,...
Redis概况
Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,可以用作数据库、高速缓存和消息中间件。 它支持5种基本的数据结构:字符串(string)、散列(hash)、 列表(list)、集合(set)、有序集合(zset)。 Redis内置了主从复制,LUA脚本, LRU回收,事务和不同级别的磁盘持久化功能,并通过Redis Sentinel提供高可用,通过Redis Cluster提供自动...
Jinjia2语法说明
Jinjia2模板是一种文本文件,可以其格式可以是HTML、XML、CSV等等,其后缀没有命名限制。模板内部包含一些变量、表达式和标签,当渲染模板时,变量将被替换为具体的值,表达式将被计算,标签将按照模板语法进行解析执行。
1. 变量
模板的变量以字典的方式传入到模板中,变量中包含可访问的属性值或元素,这些都是由应用程序提供的。
2. 过滤器
变量的值可以通过过滤器进一步修改,并且依次...
Flask概况
1. 微框架
Flask是一套基于WSGI协议的Python Web开发微型框架,致力于保持核心框架的简洁与可扩展性,非核心功能模块拥有大量第三方实现,可由用户根据实际需要自行选择或自行开发实现。
2. 依赖库
Flask的核心框架依赖于Werkzeug和Jinjia2,Werkzeug负责HTTP请求和WSGI协议的相关处理,Jinjia2负责模板的解析和渲染工作。
2.1 Werkze...
WTForms表单验证
当编写验证客户端提交的多个Form表单时,视图函数中的代码很快将变得冗长和难以阅读,调试和维护也变得难以忍受。通过使用WTForms库,将表单定义为继承于Form的类,使用该类可以验证所有表单,并且可以在模板中自动生成表单对应的HTML元素,定制HTML生成过程,从而实现业务逻辑代码和展示的分离,并使得代码简洁干净、易于维护。
1. 下载安装
2. 关键概念
Forms是WTFo...
pytest使用简介
pytest是一个可以轻松创建简单的和可弹性伸缩的测试框架,测试用例的编写简洁直观、易于阅读,只需要几分钟的时间就可以为你的应用或库创建出一个小的单元测试用例或复杂的功能测试用例。
1. 安装
在命令行输入如下指令进行安装:
检查pytest版本:
2. 一个简单示例
待测试程序sample.py代码如下:
测试用例文件test_sample.py代码如下:
测试结...
模块(十三)
在Python3中,一个模块就是一个*.py的Python源代码文件,其中可以定义类、函数和变量,还可以包含可执行程序段。您可以将您的Python程序代码按照逻辑/功能划分为不同的模块,将相似功能的代码组织到一个模块中,以便能更好的理解和使用。模块本身也是一个Python对象,可以在其它模块中通过名字导入和调用。
1. 导入模块
Python3中使用 关键字导入模块,其语法如下:
其...
函数(十二)
函数是一个基本的代码单元,用于组织或重用一批特定功能的代码段,从而使得软件开发过程更为模块化,代码重用率更高。
1. 函数定义语法
其中:
def:函数定义关键字;
函数名:函数的名称,命名需要符合Python3命名规范;
参数列表:函数执行时所需的输入参数列表,若函数不需要输入,可以为空;
文档字符串:该函数的说明文档,可选;
函数体:函数中需要进行的一...
字典类型(十一)
字典是一种映射类型,它将可以进行hash计算的key对象映射到任意类型的value对象上。字典是一种可变对象,目前Python3中仅有一种标准实现——dict。相较于list,在大量数据中查询时,dict速度更快,而dict使用的内存也会更多。
1. 创建字典
2. 访问字典元素
3. 更新字典
4. Python内置的字典操作符/函数
表达式
说明
示例
...