消息中间件MQ与RabbitMQ面试题

为什么使用MQ?MQ的优点: 主要是:解耦、异步、削峰。 异步处理 - 相比于传统的串行、并行方式,提高了系统吞吐量。 应用解耦 - 系统间通过消息通信,不用关心其他系统的处理。 流量削锋 - 可以通过消息队列长度控制请求量;可以缓解短时间内的高并发请求。 日志处理 - 解决大量日志传输。 消息通讯 - 消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通....
  •   
  • 1736
  • MySQL
  • 0
  • super_dodo
  • 2021/05/14

MySQL中UPDATE某个字段通过LEFT JOIN

最近维护一个老项目,因为之前的表设计是满足之前的项目的。现在项目有改动,需要去做更新。项目逻辑就不一一介绍。现在剥离出其中一个小项。也就是在用户表中附加一个字段,得到这个用户的地址id。之前是地址表中存有用户ID,每次都需要去连表LEFT JOIN,而且有些用户是没有地址的,所以需要这么去判断. //查询出没有用户地址的用户列表 SELECT * FROM user_list AS A ....
  •   
  • 2665
  • MySQL
  • 0
  • super_dodo
  • 2020/09/28

WordPress升级后HighlightJS高亮中的html转义的修复

之前的wp已经滞后好多个的版本了。前不久有空就升级了wordpress,升级后也安装了HighlightJS高亮的语法显示。但是后来发现,代码段中出现了html的实体转义,出现了类似 &nbmp之类的元素。 结合现在的HighlightJS高亮的展示和规则,查找数据库对比,发现是数据库里面就是存储成了nbmp这样的,所以我决定把数据库里面的统一替换一下。显示正确,方便查阅和浏览。 ....
  •   
  • 1869
  • MySQL
  • 0
  • super_dodo
  • 2020/09/08

记录一下单条和批量写入到MongoDB和PostgreSQL方法

最近一段时间做数据迁移从MongoDB里面迁移到Pg里面,之前的一个方案是实现双写操作,在灰度阶段和一些特定场景下面的需要双写,避免数据的遗漏。记录一下的主要是因为记录一下在对于nosql的mongo的情况下,很多时候需要对类型进行强制的转换。不然会造成字段类型不一致,后面查询的时候,漏数据的情况。 <?php class HistoryBuilder extends HistoryBuilder { ....
  •   
  • 3690
  • MySQL
  • 0
  • super_dodo
  • 2018/09/14

关于最近使用的MongoDB和PostgreSQL的一些比较和看法

先从个人角度来吐槽一下吧。因为这两个数据库我都不是深度用户,且学艺不精,也只能看一下表面现象了,发表一下自己的拙见了。 1.公司项目的不断壮大,技术总监决定阶段性的把一些MongoDB里面的数据迁移到Pg里面。 (Leader的眼光是不会错的,至少是很深刻的结合了现有的业务场景) 2.在做数据迁移的时候,发现MongoDB里面没结构的坏处太多了,每一个字段都要各种校验 is....
  •   
  • 14254
  • MySQL
  • 0
  • super_dodo
  • 2018/09/14

PostgreSQL学习手册之–数据库维护

PostgreSQL学习手册之--数据库维护 一、恢复磁盘空间: 在PostgreSQL中,使用delete和update语句删除或更新的数据行并没有被实际删除,而只是在旧版本数据行的物理地址上将该行的状态置为已删除或已过期。因此当数据表中的数据变化极为频繁时,那么在一段时间之后该表所占用的空间将会变得很大,然而数据量却可能变化不大。要解决该问题,需要定期对数据变化频繁的数据表执....
  •   
  • 3310
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07

PostgreSQL学习手册之–数据库管理

PostgreSQL学习手册之--数据库管理 一、概述: 数据库可以被看成是SQL对象(数据库对象)的命名集合, 通常而言,每个数据库对象(表、函数等)只属于一个数据库。 不过对于部分系统表而言,如pg_database,是属于整个集群的。 更准确地说,数据库是模式的集合,而模式包含表、函数等SQL对象。 因此完整的对象层次应该是这样的:服务器、数据库、模式、表或其他类型的对....
  •   
  • 4390
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07

PostgreSQL学习手册之–角色和权限

PostgreSQL是通过角色来管理数据库访问权限的,我们可以将一个角色看成是一个数据库用户,或者一组数据库用户。角色可以拥有数据库对象,如表、索引,也可以把这些对象上的权限赋予其它角色,以控制哪些用户对哪些对象拥有哪些权限。 一、数据库角色: 1. 创建角色: CREATE ROLE role_name; 2. 删除角色: DROP ROLE role_name; 3. 查询角色: 检查系统表pg_ro....
  •   
  • 3574
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07

PostgreSQL学习手册之–服务器配置

PostgreSQL学习手册之--服务器配置 一、服务器进程的启动和关闭: 下面是pg_ctl命令的使用方法和常用选项,需要指出的是, 该命令是postgres命令的封装体,因此在使用上比直接使用postgres更加方便。 pg_ctl init[db] [-D DATADIR] [-s] [-o "OPTIONS"] pg_ctl start [-w] [-t SECS] [-D DATADIR] [-s] [-l FILENAME] [-o "OPTIONS"] pg_c....
  •   
  • 3107
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07

PostgreSQL学习手册之–性能提升技巧

PostgreSQL学习手册之--性能提升技巧 一、使用EXPLAIN: PostgreSQL为每个查询都生成一个查询规划,因为选择正确的查询路径对性能的影响是极为关键的。 PostgreSQL本身已经包含了一个规划器用于寻找最优规划,我们可以通过使用EXPLAIN命令来查看规划器为每个查询生成的查询规划。 PostgreSQL中生成的查询规划是由1到n个规划节点构成的规划树,其中最底层的节点为表....
  •   
  • 2590
  • MySQL
  • 0
  • super_dodo
  • 2018/08/07