SequoiaDB 会话(session)简介 会话(Session)的基本概念 容易弄混淆的两个概念是会话与连接. 通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context).这个上下 文是一段位于服务器端的内存:记录了本次连接的客户端机器.通过哪个应用程序.哪个用户登录等信息. 而连接(Connection):连接是从客户端到数据库实例的一条物理路径.连接可以在网络上建立,或者在本机通过IPC机制建立.通常会在客户 端进程与一个专用服务器或一个调度器之…
SequoiaDB 巨杉数据库是一款金融级分布式关系型数据库,坚持从零开始打造分布式开源数据库引擎.“内核笔记系列”旨在分享交流 SequoiaDB 巨杉数据库引擎的设计思路和代码解析,帮助社区用户深入理解 SequoiaDB 的实现原理,共建开源开放的数据库技术生态.01 基本概念 会话与连接是两个容易混淆的概念.会话(Session) 指是通信双方从开始通信到通信结束期间的一个上下文(Context).这个上下文是一段位于服务器端的内存,记录了本次连接的客户端机器,通过哪个应用程序和哪个用户…
接上一笔记[terry笔记]Oracle会话追踪(一):SQL_TRACE&EVENT 10046 http://www.cnblogs.com/kkterry/p/3279282.html 在系统下执行tkprof,效果是把trace文件转换成可供人类阅读的格式 (个人感觉不是很爽,trace文件输出的时候直接弄个好格式不就得了) 语法: tkprof tracefile output_file explain=username/passwd ##对trace文件中的sql语句产生执行计划,会…
  SQL_TRACE/10046 事件是 Oracle 提供的用于进行 SQL 跟踪的手段,在日常的数据库问题诊断和解决中是非常常用的方法.但其生成的trace文件需要tkprof工具生成一个可供人类阅读的格式才可. TKPROF用法请参考[terry笔记]Oracle会话追踪(二):TKPROF http://www.cnblogs.com/kkterry/p/3279288.html 会话追踪可以追踪本会话.其他会话以及整个数据库,但是追踪整个数据库会对数据库的cpu.io造成很大负载,并…
作者 | Jeskson 来源 | 达达前端小酒馆 请求与上传文件 GET请求和POST请求 const express = require('express'); const app = express(); app.set('view', 'pug'); app.get('/', function(req,res){ // 输出响应消息 req.send('hello') }); app.get('/users/:gender', function(req,res){ // 获取路由参数 l…
Session简介 Session的由来 Cookie虽然在一定程度上解决了"保持状态"的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存在客户端,可能被拦截或窃取,因此就需要有一种新的东西,它能支持更多的字节,并且他保存在服务器,有较高的安全性.这就是Session. 问题来了,基于HTTP协议的无状态特征,服务器根本就不知道访问者是"谁".那么上述的Cookie就起到桥接的作用. 我们可以给每个客户端的Cookie分配一个唯一的id,…
内核版本:linux-2.6.11 Linux在加载一个可执行程序的时候做了种种复杂的工作,内存分配是其中非常重要的一环,作为一个linux程序员必然会想要知道这个过程到底是怎么样的,内核源码会告诉你这一切. 线性区 一个可执行程序,是经过编译器处理后的遵守一定规则的数据.符号表和指令序列的组合,当linux加载一个可执行程序的时候,会为其创建一个新的进程,其对应的进程描述符task_struct中会保存许多资源的描述符,其中的mm_struct就是这个进程的内存描述符,用来管理该进程拥有的所有…
现在程序员愈发的不容易了,想要精通,必然要寻本溯源,这其实与目前泛滥的愈发高级的语言以及众多的框架刚好相反,因为它们在尽可能的掩盖本源使其简单,个人称之为程序员学习悖论. 注:作者接触web开发和php两周左右,以下内容适合初学者. 1.导读              从文题目看,<简单PHP会话(Session)说明> 是已经圈定了本文的内容范围,试图阐明Session(文中对会话称为Session) 在PHP语言中是如何实现以及使用的,重点在于基本理解后的使用.      文章思路是首先搞…
原文:linux内核笔记之进程地址空间 进程的地址空间由允许进程使用的全部线性地址组成,在32位系统中为0~3GB,每个进程看到的线性地址集合是不同的. 内核通过线性区的资源(数据结构)来表示线性地址区间,线性区是由起始线性地址,长度和一些访问权限来描述的.线性区的大小为页框的整数倍,起始地址为4096的整数倍. 下图展示了x86 Linux 进程的地址空间组织结构: 正文段 .text ,这是CPU执行的机器指令部分.通常正文段是共享的,而且是只读的,以防止程序修改其自身的指令. 数据段 .d…
原文:linux内核笔记之高端内存映射 在32位的系统上,内核使用第3GB~第4GB的线性地址空间,共1GB大小.内核将其中的前896MB与物理内存的0~896MB进行直接映射,即线性映射,将剩余的128M线性地址空间作为访问高于896M的内存的一个窗口. 引入高端内存映射这样一个概念的主要原因就是我们所安装的内存大于1G时,内核的1G线性地址空间无法建立一个完全的直接映射来触及整个物理内存空间,而对于80x86开启PAE的情况下,允许的最大物理内存可达到64G,因此内核将自己的最后128M的线…