摘要:
python3 pycharm 断点调试 报错 greenlet.error: cannot switch to a different thread 阅读全文
摘要:
Tornado和Flask是Python Web开发的两种框架,他们有以下区别: 应用场景不同:Tornado主要用于实时Web服务和长轮询等场景,例如消息推送,Flask则用于传统的Web应用。 性能不同:Tornado采用了异步非阻塞的IO模型,而Flask则是阻塞模型,因此在高负载的情况下,T 阅读全文
摘要:
使用 Nginx 将 /phone/* 请求反向代理为 /* 启动项目 serve -s ./build -l 3000 项目内路由仍然是 /phone/xxx 不用改动, 但需要在 package.json 中, 指定静态资源根目录 { ... "homepage": "/phone/", ... 阅读全文
摘要:
闭包是一种特殊的函数,它能够实现类似于函数模板和面向对象的功能. 可以实现代码复用:通过函数模板可以实现一类相似功能的函数,在不同的场景中只需要传入不同的参数即可。 可以用闭包实现装饰器. def outer_func(x): def inner_func(y): return x + y retu 阅读全文
摘要:
建立索引:索引可以加速Mysql的查询速度。建立索引可以在数据表中创建“快速查找”数据的数据结构。如果查询的字段没有索引,那么查询就会变得非常缓慢。 优化查询语句:尽可能使用简单的查询语句,避免使用“%”等字符开头的模糊查找。 优化数据库设计:合理分配表和字段,避免创建过多的关联表,以及避免创建过多 阅读全文
摘要:
##应用 MySQL的索引是提高查询性能的重要工具 除了单列索引,MySQL还支持复合索引、全文索引、空间索引和HASH索引等多种索引类型 使用索引对查询性能是有益的,但是索引需要额外的空间来存储索引数据结构,因此不要滥用索引。 ,索引也可能会影响表的插入、更新和删除操作的性能,因此也要综合考虑。 阅读全文
摘要:
Redis 的分布式锁和应用 Redis 的分布式锁是一种用于多线程应用中避免竞态条件的方法。在分布式环境中,为了保证多个节点的数据能够同步,需要使用分布式锁来避免不同节点之间的竞争问题。 Redis 的分布式锁通常使用 SETNX 命令实现,该命令能够在 Redis 中设置一个键值对,并在设置成功 阅读全文
摘要:
asyncio库是Python 3.4之后官方推荐的异步编程方式,也是最常用的,具体实现步骤如下: 定义异步函数,包含async关键字,例如: async def coroutine(): # 异步任务 创建事件循环,例如: loop = asyncio.get_event_loop() 将异步任务 阅读全文
摘要:
##事务 Mysql 的事务是由一系列的 SQL 指令所构成的逻辑处理单元,这些指令要么全部执行,要么全部不执行,可以使用 COMMIT 或 ROLLBACK 指令来结束一个事务。 Mysql 中事务的 ACID 特性: 原子性(Atomicity),事务中的所有操作要么全部执行成功,要么全部回滚。 阅读全文
摘要:
Redis 能做什么 / 对 Redis 的理解 / 应用场景 Redis 是 key-value 型的内存数据库, 读写性能强大, 每秒可以处理超过 10 万次读写操作. 支持事务,Redis 的所有操作都是原子性的,同时 Redis 还支持对几个操作合并后的原子性执行。 数据结构丰富,除了支持 阅读全文