自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 什么是状态保持

在了解状态保持之前,首先了解一点,因为 http 是一种无状态协议,浏览器请求服务器是无状态的。也就是说浏览器不知道用户在这次请求之前做了什么,每一次请求都是新的请求。 出现无状态的原因:浏览器与服务器是使用 socket 套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前的 socket 连接,而且服务器也会在处理页面完毕之后销毁页面对象 所以针对这情况我们要进行状态保持来记录用户的一些操作来实现状态保持主要有两种方式:    在客户端存储信息使用 Cookie

2022-06-13 14:39:54 301

原创 Mysql读写分离

基本的原理是让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。读写分离一致性读写分离: 为保证数据库数据的一致性,我们要求所有对于数据库的更新操作都是针对主数据库的,但是读操作是可以针对从数据库来进行。大多数站点的数据库读操作比写操作更加密集,而且查询条件相对复杂,数据库的大部分性能消耗在查询操作上了。主从复制数据是异步完成的,这就导致主从数据库中的数据有一定的延迟,在读写分离

2022-06-13 14:15:44 105

原创 缓存雪崩、缓存穿透、缓存击穿

当发生缓存雪崩或击穿时,数据库中还是保存了应用要访问的数据,一旦缓存恢复相对应的数据,就可以减轻数据库的压力,而缓存穿透就不一样了。当用户访问的数据,既不在缓存中,也不在数据库中,导致请求在访问缓存时,发现缓存缺失,再去访问数据库时,发现数据库中也没有要访问的数据,没办法构建缓存数据,来服务后续的请求。那么当有大量这样的请求到来时,数据库的压力骤增,这就是缓存穿透的问题。缓存穿透的发生一般有这两种情况:业务误操作,缓存中的数据和数据库中的数据都被误删除了,所以导致缓存和数据库中都没有数据;黑客恶意攻击,故

2022-06-13 14:04:29 3556

原创 装饰器和闭包的区别

闭包就是能够读取其他函数内部变量的函数保存外部函数的变量,不会随着外部函数调用完而销毁

2022-06-07 14:54:42 284

原创 Flask介绍

Flask介绍Flask诞生于2010年, 使用python语言基于Werkzeug工具箱编写的轻量级Web开发框架Flask本身相当于一个内核, 其他几乎所有的功能都要用到扩展(邮件:Flask-Mail, 用户认证:Flask-Login, 数据库:Flask-SQLAlchemy).Flask的核心在于Werkzeug(路由模块), Jinja2模板引擎. # Flask的"轻" Flask的"轻", 不代表其功能不够强大, Flask拥有丰富的扩展, 其依赖于扩展来给应用添...

2022-05-25 19:16:39 475

原创 Session和Cookie的区别

cookie1.为什么要用cookie由于http协议是一种无状态的协议(客户端和服务端互相不认识)Cookies是一些存储在用户电脑上的小文件。它是被设计用来保存一些站点的用户数据,这样能够让服务器为这样的用户定制内容。页面代码能够获取到Cookie值然后发送给服务器,比如Cookie中存储了所在地理位置,以后每次进入地图就可以默认定位到改地点。2.cookie的原理cookie的执行原理:就是当客户端访问服务器的时候(服务器运用了cookie),服务器会生成一份cookie传输给客户端,

2022-05-25 14:41:39 92

原创 Django中间件

Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,全局修改Django的输入或输出。中间件的设计为开发者提供了一种无侵入式的开发方式,增强了Django框架的健壮性。我们可以使用中间件,在Django处理视图的不同阶段对输入或输出进行干预。因为改变的是全局,所以需要谨慎实用,用不好会影响到性能

2022-05-08 22:10:45 194

原创 Git简介

git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。最初是 Linus 为了管理 Linux 内核开发而开发的一个开源的版本控制软件。版本控制 版本管理 保存项目的每一个版本信息时,不存重复的数据,节约内存 分支管理 团队开发中,多条生产线同时推进,提高效率 权限控制 对团队中开发者进行权限控制,对团队外贡献的代码进行审核 历史记录 查看修改人、日志信息等;将本地文件恢复到某一历史版本 版本控制分类集中式:svn,各个版本存于服务

2022-05-08 21:47:50 108

原创 Redis介绍

Redis 是开源的,免费的,高性能的 非关系形数据库。 数据存储在内存,以key-value形式存储,类似于我们学习的字典 {name: ‘jack’ } 可以设置过期时间,过期自动删除,也可以做持久化。 关系型数据库: MySQL MySQL的缺陷: 1. 读取的时候相对较快, 但是写入数据是比较慢的, 读取速度是1w/s. 写入速度: 1000/s。 2. 读写时容易混淆,会读取出脏数据,需要对Mysql读写做限制. 3. 需要定义严格的表结构,插入数据需要满足完整性约束。..

2022-05-08 21:22:22 441

原创 Cookie和Session

1 什么是Cookie当客户端访问时,服务端会为客户端生成一个Cookie键值对数据,通过Response响应给到客户端。当下一次客户端继续访问相同的服务端时,浏览器客户端就会将这个Cookie值连带发送到服务端Cookie值存储在浏览器下,一般在你的浏览器安装目录的Cookie目录下,我们也可以通过F12或者各种浏览器的开发者工具来获取到因为cookie是保存在浏览器中的一个纯明文字符串,所以一般来说服务端在生成cookie值时不建议存储敏感信息比如密码设置COOKIE实现一下COOK

2022-05-08 21:16:14 116

原创 Django框架

Django的框架及项目创建

2022-04-23 20:56:50 158

原创 初始Django

初识Django

2022-04-23 20:48:17 69

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除