摘要:
什么是冒泡排序(Bubble sort) 要想学习排序算法,最好先从冒泡排序开始,这是最基础的排序算法。它是一种基础的交换排序。 排序前的队列: 排序后的队列期望结果: 1、冒泡排序第一版 冒泡排序的思想:把相邻的元素两两比较,当一个元素大于右侧相邻元素时,交换他们的位置;当一个元素小于右侧相邻元素 阅读全文
摘要:
es查询-统计总数以及深度分页 一、查询总数 1. ES 查询 hits 统计总数不准? 当我们使用 ES 的时候,有时会比较关心匹配到的文档总数是多少,所以在查询得到结果后会使用 hits.total.value 这个值作为匹配的总数,如下 图一 说明:这是因为,es官方默认限制索引查询最多只能查 阅读全文
摘要:
在 PHP 的世界里,'0.0'、'0.00'和'0.000'是否被认为为空? 我们经常需要对0, 0.0,'0',false,null,'',"",array() 等等这类数据判断是否为空,下面来整理一下。 1、以下变量都被认为是空。 ' ' (空字符串) 0 (作为整数的0) 0.0 (作为浮点 阅读全文
摘要:
MySQL 不同版本下的group by 大家有没有遇到过这样的坑,在把MySQL升级到更高的版本,一些以前看上去不会出错的group by 操作在这个版本以后就会出现语法报错的情况。这里就来记录下我在使用mysqll分组查询所遇到的坑。 1 # 创建一张表,并插入几条数据 2 3 4 CREATE 阅读全文
摘要:
Git的常用命令 一、分支管理 1、创建分支 git branch <name> 比如:git checkout -b Name 2、查看分支 git branch 3、切换分支 git checkout <name>或者git switch <name> 4、创建+切换分支 1)创建本地分支,然后 阅读全文
摘要:
awk常用的命令 概述 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入(stdin)、一个或多个文件,或其它命令的输出。 它支持用户自定义函数和动态正则表达式等先进功能,它在命令行中使用,但更多是作为脚本来使用。 一、基本用法 awk 动作 文件名 比如 阅读全文
摘要:
es的常用字段类型和查询 概要 在ES中,字段的类型很关键,毕竟无论是es还是传统的数据库,都无法弱化字段的类型。 在索引的时候,如果字段第一次出现,会自动识别某个类型。 那么如果一个字段已经存在了,并且设置为某个类型。再来一条数据,字段的数据不与当前的类型相符,就会出现字段冲突的问题。如果发生了冲 阅读全文
摘要:
Redis缓存淘汰策略 前言 长期将Redis作为缓存使用,难免会遇到内存空间存储瓶颈,当Redis内存超出物理内存限制时,内存数据就会与磁盘产生频繁交换,使Redis性能急剧下降。此时如何淘汰无用数据释放空间,存储新数据就变得尤为重要了。解决这个问题就涉及到缓存系统的一个重要机制,即缓存数据的淘汰 阅读全文
摘要:
粘包问题 我们知道,TCP 协议是面向连接的、可靠的、基于字节流的传输层通信协议。其实,TCP作为面向流的协议,不存在“粘包问题”。 什么是粘包 其实这里面有两种含义: 其一是指,由于TCP是面向流的协议,不会按照应用开发者的期望保持send输入数据的边界,导致接收侧有可能一下子收到多个应用层报文, 阅读全文
摘要:
MySQL事务日志 一、什么是MySQL事务? MySQL事务(Transaction)用于保证数据的一致性,事务是在数据库管理系统中执行的一个逻辑操作单元,它是由一组数据库操作组成的逻辑工作单元。 这一组操作要么全部成功,要么全部失败,不存在部分成功部分失败的情况,所有的操作共进退,因此事务是一个 阅读全文