MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。......
 转载
 2023-08-14
 45
阅读全文
消息队列最常的使用场景:解耦,异步,削峰。 一、RabbitMQ简介: RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue 高级消息队列协议 )的开源实现,能够实现异步消息处理 RabbitMQ是一个消息代理:它接受和转发消息。 ......
 江枫渔火
 2023-02-15
 5
阅读全文
1、获取mysql进程id ps -ef | grep -i mysql 2、实时查看mysql进程中占用CPU,内存最多的操作系统线程ID top -p 2296 -H......
 江枫渔火
 2023-02-15
 5
阅读全文
如果 key 已经持有其他值, SET 就覆写旧值,无视类型。 SETEX key seconds value 该命令相当于将下面两行操作合并为一个原子操作 SET key value EXPIRE key seconds # 设置生存时间 含义(setex = set expire): 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。......
 江枫渔火
 2023-02-02
 5
阅读全文
一、生成器 1、生成器提供了一种更容易的方法来实现简单的对象迭代,相比较定义类实现 Iterator 接口的方式,性能开销和复杂性大大降低。 2、生成器允许你在 foreach 代码块中写代码来迭代一组数据而不需要在内存中创建一个数组, 那会使你的内存达到上限,或者会占据可观的处理时间。相反,你可以写一个生成器函数,就像一个普通的自定义函数一样, 和普通函数只返回一次不同的是, 生成器可以根据需要 yield 多次,以便生成需要迭代的值。......
 江枫渔火
 2023-02-01
 7
阅读全文