摘要:
MySQL如何高效地随机读取数据 线上事故 生产项目中出现了一个线上事故,需求其实很简单:从mysql数据库中中随机读取出100条认证企业的数据到前端来展示,并且要求每一次读取的数据是不同的。 结果上线后,CPU负载过高,发生了报警。 1. 数据表 下面两表中, member_verify 中有约4 阅读全文
摘要:
二叉树的定义以及遍历 在学习过程中带着问题去思考,这样往往会达到事半功倍的效果。现在有这样一个问题:二叉树的前序遍历为EFHIGJK,中序遍历为HFIEJKG,按照后序遍历和层序遍历的结果是多少? 为了解决这个问题,我们先看下什么是二叉树以及二叉树是如何遍历的? 一、什么是二叉树 1. 定义 简单理 阅读全文
摘要:
研发流程 从一个几人开发的小公司到几百人规模中几十人研发的团队,感受到单打独斗和团队开发有明显的区别 团队开发有一套系统规范的流程: 1)运营通过市场分析,提出需求 2)产品对需求进行梳理,输出开发需求 3)需求评审、项目排期 4)开发进行需求确认和设计文档 5)测试同学出测试用例 现在特别说明开发 阅读全文
摘要:
Redis大Key删除引发的线上事故 背景 有一次公司运维在删除redis相关业务key时,由于没有全面评估风险,直接在生产环境执行了del,导致 Redis 进程被阻塞了十几秒,最终导致集群的容量和请求出现“倾斜问题”,进而引发了线上各种依赖该redis集群的业务出现异常。 线上事故一定要引起反思 阅读全文
摘要:
Docker网段冲突、docker-compose安装等Docker常见问题汇总 一、docker 网段冲突 1. 问题产生 因为疫情的原因居家办公,发现公司的阿里云数据库,通过外网可以访问,但是在容器里面访问不到。后经排查是因为docker容器的网段和公司的网段冲突了,导致登陆不上去。 这里需要解 阅读全文
摘要:
es的mapping参数-fields 概要 在es中,一个字段可能运用于不同的场景,但是某个字段类型的使用场景是有局限的 下面,我们先来看一段es查询语句: 1 $must = [ 2 "bool" => [ 3 "should" => [ 4 [ 5 "range" => [ 6 "user_i 阅读全文
摘要:
Hyperf 实现redis消息队列-源码解读 之前写过一篇笔记《Redis实现消息队列》,其中对消息队列以及redis实现消息队列的三种方式进行了介绍。下面来对hyperf实现redis消息队列的源码进行解读,加深对redis如何来实现消息队列的理解。 一、实现Redis消息队列的各个文件 1、D 阅读全文
摘要:
Go变量 最近打算抽业余时间学习一下近年来大火的Golang,本身是学php的,之前就想再学一门静态类型的语言来作为补充,显然golang对我再合适不过了。对它感兴趣的原因有以下: 1)php只能单线程执行任务,在比如在采集任务中,它需要抓完一个网页,再接着抓第二个网页,这效率严重低下,无法忍受之痛 阅读全文
摘要:
什么是冒泡排序(Bubble sort) 要想学习排序算法,最好先从冒泡排序开始,这是最基础的排序算法。它是一种基础的交换排序。 排序前的队列: 排序后的队列期望结果: 一、冒泡排序第一版 冒泡排序的思想:把相邻的元素两两比较,当一个元素大于右侧相邻元素时,交换他们的位置;当一个元素小于右侧相邻元素 阅读全文
摘要:
es查询-统计总数以及深度分页 一、查询总数 1. ES 查询 hits 统计总数不准? 当我们使用 ES 的时候,有时会比较关心匹配到的文档总数是多少,所以在查询得到结果后会使用 hits.total.value 这个值作为匹配的总数,如下 图一 说明:这是因为,es官方默认限制索引查询最多只能查 阅读全文