键值

【Django】Session

自古美人都是妖i 提交于 2019-11-27 14:59:37
目录 介绍 Django中操作Session 原文: http://blog.gqylpy.com/gqy/266 "@ 介绍 Cookie虽然在一定程度上解决了"保持状态"的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存在客户端,可能被拦截或窃取,因此就需要有一种新的东西,它能支持更多的字节,并且它保存在服务器,有较高的安全性。这就是Session. 问题来了,基于HTTP协议的无状态特征,服务器根本就不知道访问者是"谁",因此上述的Cookie就起到了桥接的作用. 我们可以给每个客户端的Cookie分配一个唯一的id,这样用户在访问时,通过Cookie,服务器就知道来的人是"谁"了。然后我们再根据不同的Cookie的id,在服务器上保存一段时间的私密资料,如"账号密码"等等. 总结而言:Cookie弥补了HTTP无状态的不足,让服务器知道来的人是"谁",但是Cookie以文本的形式保存在本地,自身安全性较差。所以我们就通过Cookie识别不同的用户,对应的Session里保存私密的信息以及超过4096的文本. 上述所说的Cookie与Session,是共通性的"东西",不限于语言和框架. Django中操作Session 获取、设置、删除Session中的数据: def test(request): """设置键值对""" request

【Django】Session

六眼飞鱼酱① 提交于 2019-11-27 14:55:45
目录 介绍 Django中操作Session 原文: http://blog.gqylpy.com/gqy/266 "@ 介绍 Cookie虽然在一定程度上解决了"保持状态"的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存在客户端,可能被拦截或窃取,因此就需要有一种新的东西,它能支持更多的字节,并且它保存在服务器,有较高的安全性。这就是Session. 问题来了,基于HTTP协议的无状态特征,服务器根本就不知道访问者是"谁",因此上述的Cookie就起到了桥接的作用. 我们可以给每个客户端的Cookie分配一个唯一的id,这样用户在访问时,通过Cookie,服务器就知道来的人是"谁"了。然后我们再根据不同的Cookie的id,在服务器上保存一段时间的私密资料,如"账号密码"等等. 总结而言:Cookie弥补了HTTP无状态的不足,让服务器知道来的人是"谁",但是Cookie以文本的形式保存在本地,自身安全性较差。所以我们就通过Cookie识别不同的用户,对应的Session里保存私密的信息以及超过4096的文本. 上述所说的Cookie与Session,是共通性的"东西",不限于语言和框架. Django中操作Session 获取、设置、删除Session中的数据: def test(request): """设置键值对""" request

MySQL 索引选择原则

为君一笑 提交于 2019-11-27 09:50:04
目的 MySQL查询优化器是基于代价(cost-based)的查询方式。因此,在查询过程中,最重要的一部分是根据查询的SQL语句,依据多种索引,计算查询需要的代价,从而选择最优的索引方式生成查询计划。 然而,在分析MySQL查询优化器过程中,是以查询优化器主线的原则进行研究,而忽略了很多细节的内容。因此,对MySQL索引选择进行进一步的研究和分析,给出创建和使用索引的规则,从而有助于分析SQL查询。 设计 设计原则主要依据为尽可能的测试索引,而不考虑索引的合理性。一方面可以更加全面的测试在多种索引存在的情况下,查询优化器是如何进行选择的。另一方面可以根据选择索引的原则,评估索引的合理性。 1.数据表设计 数据表设计如下所示,其中students_origin表中只有主键索引,students表设计主键索引(Primary Key)、唯一索引(Unique Key)、B+索引、联合索引等。 CREATE TABLE `students_origin` ( `id` int(11) NOT NULL, `name` varchar(30) DEFAULT NULL, `age` int(11) DEFAULT NULL, `major` varchar(20) DEFAULT NULL, `rank` int(11) DEFAULT NULL, `total` int(11)

localStorage和sessionStorage

喜夏-厌秋 提交于 2019-11-27 07:27:18
一:localStorage: 用途:用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去删除。 语法:var storage = window.localStorage; 存值:localStorage.setItem("key","value"); 取值:var saveValue = localStorage.getItem("key"); 删除指定键值:localStorage.removeItem("key"); 清除所有键值:localStorage.clear(); 注意:localStorage在浏览器窗口关闭后还保留数据,该数据对象没有过期时间,今天、下周、明年都能用,除非你手动去删除。 二: sessionStorage 用途:用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据 语法:var storage = window.seesionStorage; 存值:sessionStorage.setItem("key","value"); 取值:var saveValue = seesionStorage.getItem("key"); 删除指定键值:sessionStorage.removeItem("key"); 删除所有键值:sessionStorage.clear(); 注意

知识点(笔记,持续更新)

痞子三分冷 提交于 2019-11-27 05:50:15
一:常用头文件 1: #include ,C++ 算法库(Algorithms library)为 C++ 程序提供了大量可以用来对容器及其它序列进行算法操作的函数。这些组件可以为函数或函数模板,大部份由头文件 提供。 2: 向量 vector 是一种对象实体, 能够容纳许多其他类型相同的元素, 因此又被称为容器。 与string相同, vector 同属于STL(Standard Template Library, 标准模板库)中的一种自定义的数据类型, 可以广义上认为是数组的增强版。在使用它时, 需要包含头文件 vector, #include ,vector 容器与数组相比其优点在于它能够根据需要随时自动调整自身的大小以便容下所要放入的元素。此外, vector 也提供了许多的方法来对自身进行操作。 3: #include ,deque头文件主要包括一个双端队列容器。是一个支持在两端插入两端删除的线性储存空间,与vector和queue相似。与vector比起来,deque可以在O(1)的时间内在首端插入元素。与queue比起来,deque又能像数组一样随机访问。 4: set的特性是,所有元素都会根据元素的键值自动排序,set的元素不像map那样可以同时拥有实值(value)和键值(key),set元素的键值就是实值,实值就是键值。set不允许两个元素有相同的键值。 4:

day14

人走茶凉 提交于 2019-11-27 05:42:39
一、Map集合 *Collection中的集合,元素是孤立存在的(理解为单身),向集合中存储元素采用一个个元素的方式存储。:单列集合。 *Map中的集合,元素是成对存在的(理解为夫妻)。每个元素由键与值两部分组成,通过键可以找到所对应的值。:双列集合。 *Map中不能包含重复的键,值可以重复,每个键对应一个值。 1.1Map常用子类 **HashMap<K,V>**:存储数据采用hash表结构保证键的唯一性,元素的存取顺序不能保证一致。由于要保证键的唯一、不重复性,需要重写键的hashCode方法、equals方法。 **LinkedHashSet<K,V>**HashSet下的子类,存储数据采用哈希表+链表结构。通过链表结构可以保证元素的存取一致性。 > tips : Map 接口中的集合都有两个泛型变量 <K,V>, 在使用时,要为两个泛型变量赋予数据类型。两个泛型变量 <K,V> 的数据类型可以相同,也可以不同。 Map接口中定义了很多方法,常用的如下: * `public V put(K key, V value)`: 把指定的键与指定的值添加到Map集合中。 * `public V remove(Object key)`: 把指定的键 所对应的键值对元素 在Map集合中删除,返回被删除元素的值。 * `public V get(Object key)` 根据指定的键

mysql索引原理及优化(四)

限于喜欢 提交于 2019-11-27 01:22:40
聚簇索引和非聚簇索引 分析了MySQL的索引结构的实现原理,然后我们来看看具体的存储引擎怎么实现索引结构的,MySQL中最常见的两种存储引擎分别是 MyISAM 和 InnoDB ,分别实现了 非聚簇索引 和 聚簇索引 。 聚簇索引 的解释是: 聚簇索引的顺序就是数据的物理存储顺序 非聚簇索引 的解释是: 索引顺序与数据物理排列顺序无关 (这样说起来并不好理解,让人摸不着头脑,清继续看下文,并在插图下方对上述两句话有解释) 首先要介绍几个概念,在索引的分类中,我们可以 按照索引的键是否为主键来分为“主索引”和“辅助索引” ,使用主键键值建立的索引称为“主索引”,其它的称为“辅助索引”。 因此主索引只能有一个,辅助索引可以有很多个。 MyISAM——非聚簇索引 MyISAM存储引擎采用的是非聚簇索引, 非聚簇索引的主索引和辅助索引几乎是一样的 , 只是主索引不允许重复,不允许空值 ,他们的叶子结点的key都存储指向键值对应的数据的 物理地址。 非聚簇索引的数据表和索引表是 分开存储的 。 非聚簇索引中的数据是根据数据的插入顺序保存。因此非聚簇索引更适合单个数据的查询。 插入顺序不受键值影响 。 只有在MyISAM中才能使用FULLTEXT索引。(mysql5.6以后innoDB也支持全文索引) *最开始我一直不懂既然非聚簇索引的主索引和辅助索引指向相同的内容

【Django】Session -- 2019-08-11 18:38:12

纵饮孤独 提交于 2019-11-27 00:05:05
目录 介绍 Django中操作Session 原文: http://106.13.73.98/__/40/ @ 介绍 Cookie虽然在一定程度上解决了"保持状态"的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存在客户端,可能被拦截或窃取,因此就需要有一种新的东西,它能支持更多的字节,并且它保存在服务器,有较高的安全性。这就是Session. 问题来了,基于HTTP协议的无状态特征,服务器根本就不知道访问者是"谁",因此上述的Cookie就起到了桥接的作用. 我们可以给每个客户端的Cookie分配一个唯一的id,这样用户在访问时,通过Cookie,服务器就知道来的人是"谁"了。然后我们再根据不同的Cookie的id,在服务器上保存一段时间的私密资料,如"账号密码"等等. 总结而言:Cookie弥补了HTTP无状态的不足,让服务器知道来的人是"谁",但是Cookie以文本的形式保存在本地,自身安全性较差。所以我们就通过Cookie识别不同的用户,对应的Session里保存私密的信息以及超过4096的文本. 上述所说的Cookie与Session,是共通性的"东西",不限于语言和框架. Django中操作Session 获取、设置、删除Session中的数据: def test(request): """设置键值对""" request.session[

【Django】Session -- 2019-08-11 18:23:56

回眸只為那壹抹淺笑 提交于 2019-11-27 00:02:55
目录 介绍 Django中操作Session 原文: http://106.13.73.98/__/40/ @ 介绍 Cookie虽然在一定程度上解决了"保持状态"的需求,但是由于Cookie本身最大支持4096字节,以及Cookie本身保存在客户端,可能被拦截或窃取,因此就需要有一种新的东西,它能支持更多的字节,并且它保存在服务器,有较高的安全性。这就是Session. 问题来了,基于HTTP协议的无状态特征,服务器根本就不知道访问者是"谁",因此上述的Cookie就起到了桥接的作用. 我们可以给每个客户端的Cookie分配一个唯一的id,这样用户在访问时,通过Cookie,服务器就知道来的人是"谁"了。然后我们再根据不同的Cookie的id,在服务器上保存一段时间的私密资料,如"账号密码"等等. 总结而言:Cookie弥补了HTTP无状态的不足,让服务器知道来的人是"谁",但是Cookie以文本的形式保存在本地,自身安全性较差。所以我们就通过Cookie识别不同的用户,对应的Session里保存私密的信息以及超过4096的文本. 上述所说的Cookie与Session,是共通性的"东西",不限于语言和框架. Django中操作Session 获取、设置、删除Session中的数据: def test(request): """设置键值对""" request.session[

Hashtable 的用法

僤鯓⒐⒋嵵緔 提交于 2019-11-26 21:44:14
一,哈希表(Hashtable)简述 在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似 key/value 的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对. 二,哈希表的简单操作 在哈希表中添加一个key/value键值对:HashtableObject. Add(key,value) ; 在哈希表中去除某个key/value键值对:HashtableObject. Remove(key) ; 从哈希表中移除所有元素: HashtableObject. Clear() ; 判断哈希表是否包含特定键key: HashtableObject. Contains(key) ; 下面控制台程序将包含以上所有操作: using System; using System.Collections; //使用Hashtable时,必须引入这个命名空间 class hashtable { public static void Main() { Hashtable ht=new Hashtable(); //创建一个Hashtable实例