随笔分类 - 数据库
摘要:创建数据库用户,并且授予luffyapi这个库的权限 # 新建luffyapidb数据库 create database luffyapidb # 给luffyapi用户授权使用luffyapidb数据库的权限:远程+本地,【密码:Luffy123?】 grant all privileges on
阅读全文
posted @ 2020-07-19 12:25
the3times
摘要:设计范式 建立冗余较小、结构合理的数据库,在设计数据库时需要遵循一定的规则。在关系型数据库中这种规则就称为范式。 在实际开发中最为常见的设计范式有三个:范式的名称不重要,重要的是范式想表达的设计思想。 第一范式 表中每个字段都是原子性的,即每个字段存放的数据已经不能再进一步拆分 通俗的理解是,字段还
阅读全文
posted @ 2020-06-02 14:29
the3times
摘要:RPC介绍 RPC (Remote Procedure Call)是一种进程间通信方式,可以理解为:一个电脑上的程序远程调用另一个电脑上的函数。 RPC 主要用于公司内部的服务调用,性能消耗低,传输效率高,实现复杂。 RPC 使用场景:大型的网站,内部子系统较多、接口非常多的情况下适合使用 RPC。
阅读全文
posted @ 2020-05-16 18:33
the3times
摘要:优先队列 RabbitMQ从3.5.0开始,可以实现优先队列的功能。 可以通过参数的设置创建优先队列,或者在RabbitMQ 的webUI界面中新建一个优先队列。 下面通过代码的方式创建优先队列。 两个操作 : 创建队列时使用并设置参数: ,参数值从1~255(整数)。 发布消息时,使用 的优先级字
阅读全文
posted @ 2020-05-11 19:06
the3times
摘要:交换机 topic 模式相比 模式,它的选择性更加灵活多样。 模式下,队列绑定交换机时附件的binding key必须严格匹配消息分发时附加的 。 模式下,这种匹配则相对宽松,只要符合一定的规则,都可以匹配到;类似于正则匹配。 补充:队列绑定交换机时附件的binding key其实就是参数 ;避免混
阅读全文
posted @ 2020-05-10 21:53
the3times
摘要:direct模式 模式是交换机的另一个模式,它和 比较相似,且使用更加灵活。 模式下,消费者的队列只要绑定到交换机, 任何消息不加区分的全部接收 。 模式下,消费者的队列可以指定"关键字", 只接受和"关键字"相对应的消息,其余类型消息不接收 。 这类似于:双方对暗号,只有暗号一致,才接收对方发过来
阅读全文
posted @ 2020-05-10 20:08
the3times
摘要:交换机 Exchange 通过消息队列,可以将消息分发给多个不同的消费者,但无法将一条消息同时分发给多个消费者。 通过交换机,可以非常简单地实现消息同时发给多个消费者的需求,如,发布订阅功能。 交换机有很多种模式,主要有: 、`topic headers fanout`。 交换机:一端连接生产者(接
阅读全文
posted @ 2020-05-10 18:08
the3times
摘要:消息队列的参数 "简单的消息队列" 内容回顾 简单模式下,RabbitMQ的消费者可以有多个消费者,同时监听一个队列,等待生产者发消息。 这种情况下,一个消费者从队列中取出消息,将自动反馈给队列,即自动确认;收到消费者的确认消息后,RabbitMQ将删除队列中的这条消息,并将下一条消息发给下一个消费
阅读全文
posted @ 2020-05-10 12:45
the3times
摘要:介绍 RabbitMQ是一款基于网络通信的软件,有服务端和客户端。它基于Erlang语言开发,遵循AMQP协议。 RabbitMQ是一个消息队列,即消息中间件,它能够在应用程序之间提供可靠的消息传输。在易用性,扩展性,高可用性上表现优秀。 使用消息中间件利于应用程序之间的解耦,生产者(客户端)无需知
阅读全文
posted @ 2020-05-09 21:15
the3times
摘要:"1 字符串String" "2 哈希Hash" "3 链表List" "4 集合Set有序集合Zset"
阅读全文
posted @ 2020-05-08 22:57
the3times
摘要:管道-事务 默认在执行每次请求都会创建(连接池申请连接)和断开(归还连接池)一次连接操作,如果想要在一次请求中指定多个命令,则可以使用pipline实现一次请求指定多个命令,并且支持事务。 import redis pool = redis.ConnectionPool(host='公网ip', p
阅读全文
posted @ 2020-05-08 22:52
the3times
摘要:其他操作方法 ~~~python 1 delete( names) 根据删除redis中的任意数据类型,返回成功删除的key的个数 2 exists(name) 检测redis的name是否存在 3 keys(pattern=' ') 根据模型获取redis的name 更多: KEYS 匹配数据库中
阅读全文
posted @ 2020-05-08 22:50
the3times
摘要:登录注册 ~~~python import pymysql class MyDBHandle: def __init__(self): self.conn = pymysql.connect( host='127.0.0.1', port=3306, user='root', passwd='123
阅读全文
posted @ 2020-05-08 19:03
the3times
摘要:视图(了解) 什么是视图 为什么要用视图 如何操作 注意 视图到底使用频率高不高呢? 触发器(了解) 在满足对表数据进行增、删、改的情况下,自动触发的功能 使用触发器可以帮助我们实现监控、日志... 触发器可以在六种情况下自动触发 增前 增后 删前删后 改前改后 基本语法结构 事务 什么是事务 事务
阅读全文
posted @ 2020-05-08 14:53
the3times
摘要:Navicat软件 "激活版, 下载地址" 几乎所有的SQL语句,通过鼠标点点点的方式实现。 模型功能,表与表之间的关系很形象。 视图功能,SQL语句自动补全,局部执行功能很太实用 Pymysql模块 pymysql模块是第三方模块,提供python连接并操作MySQL数据库的功能。通过pip下载。
阅读全文
posted @ 2020-05-07 15:15
the3times
摘要:多表查询 多表查询有两种方式, 联表查询 和 子查询 联表查询,即将两张表连在一起,在一张"大表"中查询 子查询,即两一个表查询的结果作为另一个表的查询条件 补充关键词 联表查询 直接联表,不推荐 ~~~mysql select from dep, emp; 结果 笛卡尔积 select from
阅读全文
posted @ 2020-05-06 15:05
the3times
摘要:关键字的语法顺序 ~~~mysql SELECT DISTINCT field_list FROM table WHERE GROUP BY HAVING ORDER BY LIMIT ~~~ 关键字的执行顺序 ~~~mysql from 找到表 where 筛选 group by 分组 havin
阅读全文
posted @ 2020-05-06 15:04
the3times
摘要:集合Set redis集合Set的概念和python的集合概念一致。集合是去重的不重复,无序的。 ~~~python 1 sadd(name, values) name对应的集合中添加元素 如 r.sadd('num1', 1,2,3,4,5) num1 = {b'4', b'1', b'2',b'
阅读全文
posted @ 2020-05-05 23:40
the3times
摘要:redis中的List在内存中按照一个name对应一个List来存储。 链表基本操作 #1 lpush(name, *values) 在name对应的链表中添加元素,每个新的元素都添加到链表的最左边 如: r.lpush('l1', 1,2,3,4,5) # l1 = [b'5', b'4', b'
阅读全文
posted @ 2020-05-05 20:43
the3times
摘要:哈希Hash hash表现形式,有些像pyhton中的dict,可以存储一组关联性较强的数据。 方法中 name对应字符串,key指的是hash中的key,value是hsah的value;value只能是字符串(包括bytes)、数字格式。不能嵌套hash #1【重点】 hset(name, ke
阅读全文
posted @ 2020-05-05 20:18
the3times

浙公网安备 33010602011771号