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到底能登录多少用户?的更多相关文章

  1. Flask框架实现登录注册功能(mysql数据库)

    前言: 本例使用Flask框架完成登录和注册操作,包括前端(index.html,regist.html)和后端(app.py)两部分,前端页面不过多介绍,直接进入后端部分: 逻辑思路: 登录部分:运 ...

  2. 练习:python 操作Mysql 实现登录验证 用户权限管理

    python 操作Mysql 实现登录验证 用户权限管理

  3. WIN7中因为服务进程是运行在session0下面的~~第一个登录的用户session为1(WTSGetActiveConsoleSessionId取得session的Id,OpenProcessToken取得进程的令牌)

    procedure TsvrExamCtrl.ServiceStart(Sender: TService; var Started: Boolean);var  CMD: string;begin   ...

  4. Linux 命令 - w: 显示登录的用户及其当前执行的任务

    命令格式 w - [husfV] [user] 命令参数 -h 不打印头部信息 -u 当列出当前进程和 CPU 时间时忽略用户名,这主要是用于执行su命令后的情况. -s 使用简短的格式化,不打印 L ...

  5. linux(centos)上安装mysql教程,为需要远程登录的用户赋予权限

    最近把之前学生时代的win server换成了linux(centos)系统,因为win对于部署一些项目时候比较麻烦,直接入正题 1.准备阶段 我使用xshell工具管理服务器,相应下载和安装自行百度 ...

  6. springboot+layui实现PC端用户的增删改查 & 整合mui实现app端的自动登录和用户的上拉加载 & HBuilder打包app并在手机端下载安装

    springboot整合web开发的各个组件在前面已经有详细的介绍,下面是用springboot整合layui实现了基本的增删改查. 同时在学习mui开发app,也就用mui实现了一个简单的自动登录和 ...

  7. 用ChrootDirectory限制SFTP登录的用户只能访问指定目录且不能进行ssh登录

    创建不能ssh登录的用户sftpuser1,密码用于sftp登录: sudo adduser sftpuser1 --home /sftp/sftpuser1 --shell /bin/false s ...

  8. CentOS下查看最后登录的用户信息以及LOG记录

    CentOS下查看最后登录的用户信息tail /var/log/messagestail /var/log/secure 我们知道,在redhat下可以用lastlog查看各用户最后登录的信息,用la ...

  9. ASP .NET登录界面用户验证码代码

    //ASP .NET用户登录界面经常用到验证码代码如下 private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码 ...

随机推荐

  1. Ryubook_1_switch_hub_源码

    一.switching hub by openflow: 用Ryu实现一个有如下功能的switching hub. • Learns the MAC address of the host conne ...

  2. Android(java)学习笔记195:ContentProvider使用之添加数据到联系人(掌握)

    1.添加联系人逻辑思路 (1)首先在raw_contacts创建一个新的id (2)在data表里面添加这个id对应的数据 2.下面通过一个案例,说明一下如何添加一条数据到联系人: (1)首先我们关注 ...

  3. es6 基础语法

    var c= 1 <!--都不能预解析-->let a = 1//const不能修改变量const b = 1 箭头函数 =>var c = function fun(a, b) { ...

  4. zTree 点击文字 勾选check

    callback: { onClick:function(event, treeId, treeNode){ console.info("onClick") var treeObj ...

  5. MySQL 中去重 distinct 用法

    在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...

  6. D2. Toy Train

    D2. Toy Train time limit per test 2 seconds memory limit per test 256 megabytes input standard input ...

  7. print keys %map_function 输出 散列的值: OK_funcsplit_funcpackage_VAR

    my %map_function = (     88     "OK_func" => "open_statement",     89     &qu ...

  8. print reverse <> 是打印全部的文件内容 ?

    reverse 是倒置 <> 则是 把 @ARGV  参数列表里面的文件都读取出来 ? print <> 就是和  cat 的功能一样了. 脚本语言交流.数据处理 QQ群:66 ...

  9. html页面比较长,如何用js实现网页一打开显示在网页的中部?

    加入js代码 <style type="text/css"> body { height: 2000px; } </style> <script ty ...

  10. pytorch之Tensor与Variable的区别

    首先在变量的操作上:Tensor对象支持在原对象内存区域上修改数据,通过“+=”或者torch.add()方法而Variable不支持在原对象内存区域上修改数据Variable对象可求梯度,并且对Va ...