session

sqlalchemy 多线程 创建session

若如初见. 提交于 2020-03-02 18:03:50
1、基于threding.local,推荐使用 from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine from sqlalchemy.orm import scoped_session from models import Student from threading import Thread engine = create_engine( "mysql+pymysql://root:密码@127.0.0.1:3306/数据库?charset=utf8", max_overflow=0, # 超过连接池大小外最多创建的连接 pool_size=5, # 连接池大小 pool_timeout=30, # 池中没有线程最多等待的时间,否则报错 pool_recycle=-1 # 多久之后对线程池中的线程进行一次连接的回收(重置) ) SessionFactory = sessionmaker(bind=engine) session = scoped_session(SessionFactory) def task(): ret = session.query(Student).all() # 将连接交还给连接池 session.remove() for i in range(20):

sqlalchemy 单表增删改查

爷,独闯天下 提交于 2020-03-02 18:00:17
1、连接数据库,并创建session from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine engine = create_engine( "mysql+pymysql://root:密码@127.0.0.1:3306/数据库?charset=utf8", max_overflow=0, # 超过连接池大小外最多创建的连接 pool_size=5, # 连接池大小 pool_timeout=30, # 池中没有线程最多等待的时间,否则报错 pool_recycle=-1 # 多久之后对线程池中的线程进行一次连接的回收(重置) ) SessionFactory = sessionmaker(bind=engine) session = SessionFactory() 2、增 # 单条 obj = Users(name='tom') session.add(obj) session.commit() # 多条 session.add_all([ Users(name='海贼王'), Users(name='死神') ]) session.commit() session.close() 3、删 session.query(Users).filter(Users.id >= 2)

Linux-Pam总结

ぐ巨炮叔叔 提交于 2020-03-02 17:02:26
Pam 总结 概述 linux下PAM模块全称是Pluggable Authentication Module for linux(可插入式授权管理模块),该由Sun公司提供,在Linux中,PAM是可动态配置的,本地系统管理员可以自由选择应用程序如何对用户进行身份验证。PAM应用在许多程序与服务上,比如登录程序(login、su)的PAM身份验证(口令认证、限制登录),passwd强制密码,用户进程实时管理,向用户分配系统资源等。 简介 Linux-PAM(即linux可插入认证模块)是一套共享库,使本地系统管理员可以随意选择程序的认证方式。换句话说,不用(重新编写)重新编译一个包含PAM功能的应用程序,就可以改变它使用的认证机制,这种方式下,就算升级本地认证机制,也不用修改程序。 PAM使用配置/etc/pam.d/下的文件,来管理对程序的认证方式.应用程序 调用相应的配置文件,从而调用本地的认证模块.模块放置在/lib/security下,以加载动态库的形式进,像我们使用su命令时,系统会提示你输入root用户的密码.这就是su命令通过调用PAM模块实现的。 配置文件 PAM配置文件有下面两种写法: 1)写在/etc/pam.conf文件中,但centos6之后的系统中,这个文件就没有了。 2)将PAM配置文件放到 /etc/pam.d/ 目录下,其规则内容都是不包含

Flink怎么去控制window

梦想与她 提交于 2020-03-02 15:07:00
window分类 Flink的DataStream API提供了基于Count Window,Time Window和Session Window。三者其实就是计算的单位不同, TimeWindow TimeWindow是基于时间的,能够在一定时间内,收集到一定的数据,从而触发Window的操作。常见的有Sliding Time Window和Tumbling Time Window 👌Sliding Time Window 中文翻译过来就是滑动时间窗口。它在Flink里面需要两个参数,就是每个多久计算多大Window的事件。下面这个图sliding size是2也就是每隔多久,而window size是窗口Window大小,从而理解长每个2个事件单位就生成一个窗口,每个窗口大小为3个时间单位,因为2<3,所以就会有重复计算的某个时间点的内容,这主要是因为滑动窗口它滑过去的时候会有重叠的内容 . timeWindow ( Time . seconds ( 2 ) , Time . seconds ( 1 ) ) //这个就是每隔1秒,生成一个2秒大小的window 👌Tumbling Time Window 中文翻译过来就是滚动时间窗口,这个是滚动的,我们平常用轮子去滚动地面的时候,是不会有重复经过的路的,它一定是一直往前的。那么Tumbling Time

PHP注册手机获取验证码代码

偶尔善良 提交于 2020-03-02 14:01:24
php代码: <?php require dirname(__FILE__).'/include/common.inc.php';//这是在cms2008下面做的测试 header("content-type:text/html; charset=utf-8;"); session_start();//开启缓存 if (isset($_SESSION['time']))//判断缓存时间 { session_id(); $_SESSION['time']; } else { $_SESSION['time'] = date("Y-m-d H:i:s"); } $_SESSION['mcode']=$_GET['mcode'];//将content的值保存在session中 ////如果得到手机号 if($mobile) { // echo "2";//得到手机号 // echo $_SESSION['mcode'];//测试得到的验证码 // echo '<br/>'; if((strtotime($_SESSION['time'])+60)<time()) {//将获取的缓存时间转换成时间戳加上60秒后与当前时间比较,小于当前时间即为过期 session_destroy(); unset($_SESSION); header('content-type:text/html;

SpringBoot集成WebSocket

懵懂的女人 提交于 2020-03-02 13:20:06
什么是WebSocket? WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。 为什么需要 WebSocket? 初次接触 WebSocket 的人,都会问同样的问题:我们已经有了 HTTP 协议,为什么还需要另一个协议?它能带来什么好处? 答案很简单,因为 HTTP 协议有一个缺陷:通信只能由客户端发起,HTTP 协议做不到服务器主动向客户端推送信息。 举例来说,我们想要查询当前的排队情况,只能是页面轮询向服务器发出请求,服务器返回查询结果。轮询的效率低,非常浪费资源(因为必须不停连接,或者 HTTP 连接始终打开)。因此WebSocket 就是这样发明的。 maven依赖 SpringBoot2.0对WebSocket的支持简直太棒了,直接就有包可以引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency> WebSocketConfig 启用WebSocket的支持也是很简单,几句代码搞定 import org.springframework.context.annotation

Python面试重点(web篇)

心不动则不痛 提交于 2020-03-02 12:54:54
Python面试重点(web篇) 注意:只有必答题部分计算分值,补充题不计算分值。 第一部分 必答题 注意:除第四题4分以外,其他题均每题3分。 写出常用的bootstrap的样式。 什么是响应式布局? 请通过jQuery发送ajax请求。 JavaScript与this相关的面试题(4分) name = '老男孩'; info = { name:'alex', age:123, func:function(){ console.log(this.name); } } info.func() name = '老男孩'; info = { name:'alex', age:123, func:function(){ console.log(this.name); function f1(){ console.log(this.name); } f1() } } info.func() name = '老男孩'; info = { name:'alex', age:123, func:function(){ console.log(this.name); (function(){ console.log(this.name); })() } } info.func() name = '老男孩'; info = { name:'alex', age:123, func:function(

Laravel项目和其它项目共享session问题

你离开我真会死。 提交于 2020-03-02 12:32:46
我这边总结一下,也许以后有人会需要, 其实Laravel的session并不是用PHP自带的session管理器。而是完完全全自己实现了一个。 注意是完完全全自己实现的,并不是传统意义上用session_set_save_handler自定义的session处理器。 所以解决 和另一个ThinkPHP项目的session共用 的问题就很简单了~ 在Laravel中启动PHP自带的session就好了,也就是session_start。 这是他们的代码注释 "Note that the Laravel sessions do not make use of PHP "native" sessions in any way since they are crappy." 请记住Laravel在任何地方都没有用到PHP“原生”的session,因为它很蹩脚。 好吧,我现在只要启动蹩脚的session就好了。 by kankana 以上是如何从laravel访问其他程序的session. 以下,则是如何从外部访问laravel的session (file). 当laravel的session driver设置为file, 这些session files都是以json形式存放在app/storage/sessions里面. 关键是,如何找到对应的session文件?

cas单点登录集群如何优雅的退出

时光毁灭记忆、已成空白 提交于 2020-03-02 12:32:11
实现cas ticket基于redis的集群 目的 克服cas单点故障,将cas认证请求分发到多台cas服务器上,降低负载。 实现思路: 采用统一的ticket存取策略,所有ticket的操作都从中央缓存redis中存取。 采用session共享,session的存取都从中央缓存redis中存取。 前提: 这里只讲解如何实现cas ticket的共享,关于session的共享请移步: https://github.com/izerui/tomcat-redis-session-manager 实现步骤: 基于cas源码 新增模块 cas-server-integration-redis pom.xml 文件如下: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <artifactId>cas-server</artifactId>

实战Linux Bluetooth编程(九) SDP层编程

て烟熏妆下的殇ゞ 提交于 2020-03-02 12:31:17
先前的章节谈过SDP协议。但没有具体讲如何编程。 BlueZ提供的SDP API,常见的如下: 1. sdp_session_t *sdp_create(int sk, uint32_t flags) 参数1:sk: socket 参数2:SDP flags. 取值如下: #define SDP_RETRY_IF_BUSY 0x01 #define SDP_WAIT_ON_CLOSE 0x02 #define SDP_NON_BLOCKING 0x04 创建一个新的Session为了异步查找。 Session结构如下: typedef struct { int sock; int state; int local; int flags; uint16_t tid; // Current transaction ID void *priv; } sdp_session_t; sdp_create 只是简单的创建一个空间将Session指针返回。并将sk和flags传入Session对应值。 同时,会创建transaction并将指针给 priv . struct sdp_transaction { sdp_callback_t *cb; void *udata; uint8_t *reqbuf; sdp_buf_t rsp_concat_buf; uint32_t reqsize;