2017年10月25日
摘要: 关联同一张表的两个字段 Customer表有2个字段都关联了Address表 orm_many_fk.py 只创建表结构 orm_api.py 添加数据。查询 查询结果 多对多关系 现在来设计一个能描述“图书”与“作者”的关系的表结构,需求是 此时你会发现,用之前学的外键好像没办法实现上面的需求了, 阅读全文
posted @ 2017-10-25 09:30 老榕树下的咖啡屋 阅读(823) 评论(0) 推荐(0) 编辑
  2017年10月24日
摘要: join 2 、join 这个要求A表和B表必须有FOREIGN KEY的关系才可以。 ORM实现外键约束 用户表、课程表、用户与课程中间表 以上先创建两张表 先看一个比较牛的东西:反查。通过设置的一个字段反向查询关联的表。关联表也可以根据这个字段查询当前表。双向反查。 首先 stu_id为Fore 阅读全文
posted @ 2017-10-24 16:42 老榕树下的咖啡屋 阅读(557) 评论(0) 推荐(0) 编辑
摘要: 升级命令: 升级失败恢复pip 阅读全文
posted @ 2017-10-24 15:28 老榕树下的咖啡屋 阅读(230) 评论(0) 推荐(0) 编辑
摘要: SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用关系对象映射进行数据库操作,简言之便是:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果。 SQLAchemy下载 SQLAchemy使用 SQLAlchemy本身无法操作数据库,其必须以来 阅读全文
posted @ 2017-10-24 11:14 老榕树下的咖啡屋 阅读(2767) 评论(0) 推荐(0) 编辑
  2017年10月20日
摘要: 消息公平分发 如果Rabbit只管按顺序把消息发到各个消费者身上,不考虑消费者负载的话,很可能出现,一个机器配置不高的消费者那里堆积了很多消息处理不完,同时配置高的消费者却一直很轻松。为解决此问题,可以在各个消费者端,配置perfetch=1,意思就是告诉RabbitMQ在我这个消费者当前消息还没处 阅读全文
posted @ 2017-10-20 13:43 老榕树下的咖啡屋 阅读(796) 评论(1) 推荐(1) 编辑
摘要: RabbitMQ MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如 阅读全文
posted @ 2017-10-20 11:01 老榕树下的咖啡屋 阅读(629) 评论(0) 推荐(0) 编辑
  2017年10月19日
摘要: 协程 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。 协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈。因此: 协程能保留上一次调用时的状态(即所有局部状态的一个特 阅读全文
posted @ 2017-10-19 10:41 老榕树下的咖啡屋 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 进程同步 进程的数据是独立存在的,进程也能加锁。 运行结果 进程为什么要加锁? 因为进程的数据是独立存在的,并不会共享同一块数据。但是有些资源是共享的,比如显示器。如果每个进程都要输出内容,那么显示的就很乱了,这个锁就是在某个进程独自输出的时候独占,不会被其它进程干扰。 进程池 apply 同步执行 阅读全文
posted @ 2017-10-19 08:24 老榕树下的咖啡屋 阅读(795) 评论(0) 推荐(0) 编辑
  2017年10月18日
摘要: 多线程和多进程最大的不同在于,多进程中,同一个变量,各自有一份拷贝存在于每个进程中,互不影响,而多线程中,所有变量都由所有线程共享,所以,任何一个变量都可以被任何一个线程修改,因此,线程之间共享数据最大的危险在于多个线程同时改一个变量,把内容给改乱了。 不同进程之间内存是不共享的,要实现两个进程间的 阅读全文
posted @ 2017-10-18 19:17 老榕树下的咖啡屋 阅读(6841) 评论(0) 推荐(0) 编辑
摘要: python多线程 不适合cpu密集操作型的任务 适合io操作密集型的任务。 multiprocessing 多进程 起多个进程 运行结果 在进程里面启动线程 运行结果 阅读全文
posted @ 2017-10-18 09:31 老榕树下的咖啡屋 阅读(323) 评论(0) 推荐(0) 编辑