[置顶]【完整|实用】Linux常用命令汇总

[置顶]【杂谈】转:一个程序员的心理疾病---王垠

【ElasticSearch】es实现深度遍历查询的方式(数据量千万级)

尽管 ES 做深度遍历这种需求,是偏向于把 “搜索当数据库用”的不正确方式,但是既然使用了 es,就不免会用成这种很大量索引的情况。那么这种遍历的需求也是自然而然会产生的,比方说我们刷了一批数据进 es,然后需要进行一波条件过滤操作。这种情况下,使用 query 语句的 “from”,"size" 做偏移,是会超出上限的(默认这种分页方式在配置里设定的上限是 10000 条,即使设成一百万也会触到上限,而且这个上限设高了容易引发一些使用安全上的问题,内存消耗会出现异常)。这种

【redis】设置redis配置使外部能访问redis实例

找到redis安装位置,根目录下应该存在一个 redis.conf 的配置文件。如果没找到,我们使用搜索命令 “find / -name "redis.conf"”来定位到位置修改两个信息:第一个是bind信息,找到如下行:# Examples:## bind 192.168.1.100 10.0.0.1# bind 127.0.0.1 ::1              在下方加一行 bind 0

【搜索工具】ElasticSearch和solr的差别

ElasticSearch和solr的差别 Elasticsearch简介Elasticsearch是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能。它用于全文搜索、结构化搜索、分析以及将这三者混合使用:维基百科使用Elasticsearch提供全文搜索并高亮关键字,以及输入实时搜索(search-asyou-type)和搜索纠错(did-you-mean)等搜索建议功能。英国卫报使用Elasticsearch结合用户日志和社交网络数据提供给他们的编辑以实时的反

【elasticsearch】解决报错:query_phase_execution_exception: Result window is too large, from + size must be

出现此错误的原因,是由于 es 的分页机制导致的。我们都知道一般这种大量数据的分页需求,是很难高效地去跳页查找的。原因在于查询的时候,不管是MySQL还是es,都是只知道起点而不知道有多少页的。要想知道有多少页,每页是哪几条数据,就得把在这页之前的数据全部过一遍。所以一般指定页码去跳页查询这类需求,在我们数据量起来的时候这样的需求是很吃资源(内存+CPU)的。我们可以尝试转化这类需求,转化成提供一个【下一页】的查询方式。如果我们确实需要比如指定 1-10万页之间指定页码去查询的需求,在这个 es

【数据库】MySQL连接池基本概念,原理及使用优势

一、什么是数据库连接池?官方:数据库连接池(Connection pooling)是程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由程序动态地对池中的连接进行申请,使用,释放。个人理解:创建数据库连接是一个很耗时的操作,也容易对数据库造成安全隐患。所以,在程序初始化的时候,集中创建多个数据库连接,并把他们集中管理,供程序使用,可以保证较快的数据库读写速度,还更加安全可靠。二、传统的连接机制与数据库连接池的运行机制区别 传统统链接:     一般来说,J

【MySQL】实用开发规范

总结具体项目实践中得来的经验,供参考:0. 数据库命名规范所有数据库对象名称必须使用小写字母并用下划线分割。所有数据库对象名称禁止使用 MySQL 保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)。数据库对象的命名要能做到见名识意,并且最后不要超过 32 个字符。临时库表必须以 tmp 为前缀并以日期为后缀,备份表必须以 bak 为前缀并以日期 (时间戳) 为后缀。所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据

【MySQL】并发锁产生原因分析和解决

 本文主要是针对MySQL/InnoDB的并发控制和加锁技术做一个比较深入的剖析,并且对其中涉及到的重要的概念,如多版本并发控制(MVCC),脏读(dirty read),幻读(phantom read),四种隔离级别(isolation level)等作详细的阐述,并且基于一个简单的例子,对MySQL的加锁进行了一个详细的分析。本文的总结参考了何登成前辈的博客,并且在前辈总结的基础上,进行了一些基础性的说明,希望对刚入门的同学产生些许帮助,如有错误,请不吝赐教。按照我的写作习惯,还是通过几个关

【MySQL】并发锁举例和解决办法

Mysql并发时经典常见的死锁原因及解决方法  1.    mysql都有什么锁 MySQL有三种锁的级别:页级、表级、行级。表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般 算法:next KeyLock

【MySQL】MyCli用法 ——命令行补全及语法高亮工具

MySQL自带的命令行客户端没有自动补全和高亮显示,这里推荐一款扩展工具——MyCli;一图胜千言这里直接借用官网的动图;心动的话下面进入安装环节;brew install mycliBashCopy如果是其他平台的话参考安装文档;安装完成后使用起来也非常简单;就把之前命令行中的 mysql 换成 mycli 即可;比如说连接数据库之前是:mysql -uroot -pBashCopy现在只需要改成:mycli -uroot -pBas

【SQL】常用写法汇总

ALTER用法 - 更改表字段:增删字段:alter table table_name [drop|add] [column_name]更改字段类型:alter table table_name alter column column_name data_type CREATE USER 用法:   1. 查看系统用户: select Host,User,Password from mysql.user;   2. 创建一个远程用户:create

Powered By Z-BlogPHP 1.5.2 Zero

Copyright liuyang1.com. 转载文章,请注明出处。谢谢!