自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进程和线程的区别

一、进程、线程的概念进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机系统资源的基本单位。线程:是进程的一个执行单元,是进程内科调度实体。比进程更小的独立运行的基本单位。线程也被称为轻量级进程。二、进程和线程的区别地址空间:线程共享本进程的地址空间,而进程之间是独立的地址空间。资源:线程共享本进程的资源如内存、I/O、cpu等,不利于资源的管理和保护,而进程之间的资源是独立的,能很好的进行资源管理和保护。健壮性:多进程要比多线程健壮,一个进程崩溃后,在保护模式下不会对其他

2022-06-14 08:24:02 255 1

原创 什么是缓存穿透,击穿,雪崩,怎么解决?

缓存穿透:指在高并发场景下,如果某一个 key 被高并发访问,没有被命中,出于对容错性考虑,会尝试去从后端数据库中获取,从而导致了大量请求到达数据库,而当该 key 对应的数据库本身就是空的情况下,这就导致数据库中并发的去执行了很多不必要的查询操作,从而导致巨大冲击和压力。缓存穿透解决方案:1. 缓存空对象对查询结果为空的对象也进行缓存,如果是集合,可以缓存一个空的集合(非 null ),如果是缓存单个对象,可以通过字段标识来区分。这样避免请求穿透到后端数据库。同时,也需要保证缓存数据的时效性。这种方式实现

2022-06-08 09:35:20 1653

原创 python中列表和元组的区别

科学解释:列表是一种数据项构成的有限序列,即按照一定的线性顺序,排列而成的数据项的集合。在数学中,集合是由一个或多个确定的元素所构成的整体。集合和列表都是我们日常整理数据经常使用的工具。在学习python中,我们也经常遇到集合和列表,他们具体是什么?这两者有什么区别,我们来看看吧。1、集合:只包含键,而没有对应的值,包含的数据不重复。使用大括号 或者 函数来创建创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。集合特点:1.可以用set()函数或者方括号{}创建,元素

2022-06-08 08:31:09 199

原创 flask的特点

1.Flask概念Flask是微框架,因为它仅仅实现了Web应用的核心功能:Flask由两个主要依赖组成(提供路由、调试和Web服务器网关接口的Werkzeug和提供模板的Jinja2)。其他的一切(比如数据库集成,表单处理,文件上传,用户认证)都由第三方库来完成,如果插件满足不了的需求,也可以自行开发。2.Flask特点良好的文档丰富的插件包含开发服务器和调试器(debugger)集成支持单元测试RESTful请求调度支持安全cookies基于Unicode拓展

2022-05-30 08:33:43 776

原创 mysql存储引擎的区别

一.mysql中myisam,innodb和memory三个存储引擎的区别1、区别:1)MyISAM管理非事务表。提供高速存储和检索,以及全文搜索能力。MyISAM在所有MySQL配置里被支持,是默认的存储引擎,除非配置MySQL默认使用另外一个引擎。2)MEMORY存储引擎提供“内存中”表。MERGE存储引擎允许集合将被处理同样的MyISAM表作为一个单独的表。就像MyISAM一样,MEMORY和MERGE存储引擎处理非事务表,这两个引擎也都被默认包含在MySQL中。注释:MEMORY存储引.

2022-05-30 08:26:10 3751 2

原创 flask常用组件

功能扩展:Flask_sqlalchemy:将Flask和SQLAlchemy很好的结合在一起,如django中的ORM操作flask_script:用于生成命令,在项目根目录路径下使用命令;例如:python manage.py runserverflask_migrate:用来实现数据库迁移(依赖flask_script)flask-session:session放在redis里面blinker:信号-触发信号.主要是让开发者可是在flask请求过程中定制一些行为Flask-RESTf.

2022-05-23 10:04:36 311

原创 redis为什么这么快

一,什么是redisRedis全称是:REmote DIctionary Service,即远程字典服务。Redis是一个开源的(遵守BSD协议)、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。Redis具有以下特性:1、支持丰富的数据类型:字符串(strings),散列(hashes),列表(lists),集合(sets),有序集合(sorted sets),位图等。 2、功能丰富:提供了持久化机制,过期策略,订阅/发布等功能。 3、高性能,高可用且支持集群。...

2022-05-23 09:42:29 52

原创 redis的特点

1.redis数据读写速度非常快,因为它把数据都读取到内存当中操作,而且redis是用C语言编写的,是最“接近“”操作系统的语言,所以执行速度相对较快。2.redis虽然数据的读取都存在内存当中,但是最终它是支持数据持久化到磁盘当中。3.redis提供了丰富的数据结构。4.redis的所有操作都是原子性,支持事务,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行。5.redis支持主从复制,主机会自动将数据同步到从机,可以进行读写分离。...

2022-05-11 18:38:21 307

原创 cookie和session的区别

一、共同点:cookie和session都是用来跟踪浏览器用户身份的会话方式。二 不同点:(1)cookie数据存放在客户的浏览器上,session数据放在服务器上(2)cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session(3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用COOKIE(4)单个cookie在客户端的限制是3K,就是说一个站点.

2022-05-11 16:54:47 50

原创 flask中蓝图的概念及实现

1.蓝图的概念在Flask中, 蓝图(blueprint)是一种用来扩展已有Flask应用结构的方式, 蓝图提供了一种把功能类似的视图函数组合在一起的方式, 通过这种方式, 开发者能够把他们的应用拆分成不同的组件. 在我们的架构中, 蓝图的作用类似于控制器(controller).# 蓝图的使用步骤分为三步:1.创建一个蓝图对象2.在这个蓝图对象上进行操作, 注册路由, 指定静态文件夹, 注册模板过滤器3.在应用对象上注册蓝图对象2蓝图的实现# 蓝图使用示例:1.创建蓝图2.添

2022-05-03 07:30:32 603

原创 请求钩子介绍及使用

1请求钩子的概念与分类# 请求钩子(1).请求钩子介绍:flask的请求钩子类似于Django的中间件, flask的请求钩子分为四种, 如下所示: - before_first_request: 请求处理前执行, 只执行一次 - before_request: 请求处理前执行, 每次请求处理前都会执行 - after_request: 请求处理后执行, 但其是在请求无异常的基础上执行的, 该钩子接受一个参数为响应对象, 并且钩子函数最后需要将参数传递来的响应return返回...

2022-05-03 07:25:18 195

原创 Flask配置

Flask项目配置文件加载方式: 1.从配置对象中加载 2.从配置文件中加载 3.从环境变量中加载1.从配置对象中加载(1).实现步骤: - 创建配置类(建议单独文件中创建) - 加载配置对象 - 使用配置(2).示例: 1).settings.py代码: class DefaultConfig(object): MYSQL_HOST = '127.0.0.1' MYSQL_PORT = 3306 2...

2022-04-23 22:55:28 898

原创 实现Flask入门应用

# 实现步骤:# 1.导入Flask类from flask import Flask# 2.实例化Flask对象app = Flask(__name__)# 3.编写路由与视图@app.route('/')def index(): return 'Hello Flask'# 4.启动服务if __name__ == '__main__': app.run()

2022-04-23 22:48:52 640

空空如也

空空如也

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

TA关注的人

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