flask到底能登录多少用户?
flask默认情况下是单进程的,所以每次只能处理一个请求;
当然可以多起几个进程或者线程,这样flask就可以处理多个请求;
认证后的用户,进行一次操作(一个GET操作、一次POST操作或者其他),会话信息会以Cookie:value的方式传送给flask应用,flask应用开启一个进程或者线程进行处理。
会根据Cookie的值解析出一些会话信息,根据这些会话信息内容判断用户的身份、权限等,进行相应的操作。
上面的这些会话信息会存在请求上下文里(request contents)【变量session】。请求的时候,使用内存存储这些会话信息。请求结束,销毁变量,释放内存。

from flask import render_template,session
@app.route("/test")
@login_required
def test():
if session['user']== 'admin':
print '是管理员,给予最大权限'
return render_template('index.html')
因此,个人认为,可以设置会话为很长的过期时间,这样即使很多用户处于登录状态(是指会话没有过期,再次操作无需再次认证,但是又处于非操作状态),也并不会给系统带来什么负担。
真正产生负担的(是指消耗应用所在系统内存、cpu等资源的)是那些正在做一些操作的用户。
其实,设置会话超时时间,应该是从安全的角度考虑,而非减轻系统负担的角度,过短的过期时间,反而需要用户频繁的认证操作,影响易用性。
需要说明的是,这里会话超时时间不是固定长度的,即从你最后一次操作开始计算时间,会因为你持续操作,而延迟。这样就不会发生你操作着突然被退出而要求你重新登录。
参考:
http://www.cnblogs.com/shengulong/p/7488226.html
https://windard.com/blog/2017/10/17/Flask-Session
http://cizixs.com/2017/03/08/flask-insight-session
flask到底能登录多少用户?的更多相关文章
- Flask框架实现登录注册功能(mysql数据库)
前言: 本例使用Flask框架完成登录和注册操作,包括前端(index.html,regist.html)和后端(app.py)两部分,前端页面不过多介绍,直接进入后端部分: 逻辑思路: 登录部分:运 ...
- 练习:python 操作Mysql 实现登录验证 用户权限管理
python 操作Mysql 实现登录验证 用户权限管理
- WIN7中因为服务进程是运行在session0下面的~~第一个登录的用户session为1(WTSGetActiveConsoleSessionId取得session的Id,OpenProcessToken取得进程的令牌)
procedure TsvrExamCtrl.ServiceStart(Sender: TService; var Started: Boolean);var CMD: string;begin ...
- Linux 命令 - w: 显示登录的用户及其当前执行的任务
命令格式 w - [husfV] [user] 命令参数 -h 不打印头部信息 -u 当列出当前进程和 CPU 时间时忽略用户名,这主要是用于执行su命令后的情况. -s 使用简短的格式化,不打印 L ...
- linux(centos)上安装mysql教程,为需要远程登录的用户赋予权限
最近把之前学生时代的win server换成了linux(centos)系统,因为win对于部署一些项目时候比较麻烦,直接入正题 1.准备阶段 我使用xshell工具管理服务器,相应下载和安装自行百度 ...
- springboot+layui实现PC端用户的增删改查 & 整合mui实现app端的自动登录和用户的上拉加载 & HBuilder打包app并在手机端下载安装
springboot整合web开发的各个组件在前面已经有详细的介绍,下面是用springboot整合layui实现了基本的增删改查. 同时在学习mui开发app,也就用mui实现了一个简单的自动登录和 ...
- 用ChrootDirectory限制SFTP登录的用户只能访问指定目录且不能进行ssh登录
创建不能ssh登录的用户sftpuser1,密码用于sftp登录: sudo adduser sftpuser1 --home /sftp/sftpuser1 --shell /bin/false s ...
- CentOS下查看最后登录的用户信息以及LOG记录
CentOS下查看最后登录的用户信息tail /var/log/messagestail /var/log/secure 我们知道,在redhat下可以用lastlog查看各用户最后登录的信息,用la ...
- ASP .NET登录界面用户验证码代码
//ASP .NET用户登录界面经常用到验证码代码如下 private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码 ...
随机推荐
- linux centos7 tomcat8 配置成服务启动
1. tomact 解压到/usr/local/tomcat下 2.vim /usr/local/tomcat/bin/catalina.sh 在OS specific support.前加上 (注意 ...
- vue2.0 vue.set()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- AIX6.1平台11.2.0.3RAC 实施手册
1 前言 此文档详细描述了Oracle 11gR2 数据库在AIX6.1上的安装RAC的检查及安装步骤.文档中#表示root用户执行,$表示grid或oracle用户执行. 2 系统环境 操作系统环境 ...
- 「Python调试器」,快速定位各种疑难杂症!!
现在很多的编辑器其实都带着「调试程序」的功能,比如写 c/c++ 的 codeblocks,写 Python 的 pycharm,这种图形界面的使用和显示都相当友好,简单方便易学,这个不是我这篇文章要 ...
- Java方法注释模板
普通方法 /** * ${todo} * @author: SYJP * @version 创建时间:${date} */ 覆盖方法 /** * @Title: ${enclosing_method} ...
- zabbix4.2学习笔记--新建用户组和用户
新建用户组 zabbix中管理机器是以用户组划分,这里新建一个只读用户群组和只读用户 新建用户组 点击 管理-用户组-创建用户群组,如下图 点击创建之后,有三列设置,分别是用户群组.权限和标签过滤器, ...
- egg.js上传文件到本地
'use strict'; const Service = require('egg').Service; const fs = require('fs'); const path = require ...
- js中sync、defer、async的区别
<script src="script.js"></script> 没有 defer 或 async,浏览器会默认为同步sync,会立即加载并执行指定的脚本 ...
- PHP—通过HTML网页请求,PHP页面显示源码不能解析
对于初学者来说,可能会碰到这样一个问题,那就是我们通过html网页,在表单的action中填入后台处理的php文件后,虽然可以跳转到php网页上,但是却显示一大堆php源码而不是处理请求.像这样: ...
- 零基础入门学习Python(7)--了不起的分支和循环1
前言 我们今天的主题,是了不起的分支和循环,为什么不说c语言,Python了不起,而对分支和循环这两个知识点那么崇拜呢? 我们之前的几节课里也接触到了分支和循环,大家思考一下,如果我们的程序没有分支和 ...