7 认真编程的程序猿

尚未进行身份认证

我要认证

自我肯定和坚持做对的事

等级
TA的排名 1w+

ElasticSearch优化

一、垂直拆分1、根据业务不同拆分成多个es集群:比如日志集群、binglog集群、业务数据集群等2、根据系统等级不同拆分不同配置的es集群3、统一封装数据平台层,数据插入和查询使用统一的封装平台,避免过多系统连接es集群,同时避免写入量过大拖垮集群4、冷热数据分离5、数据统一从kafka进入,避免进入量较大,消费方瓶颈二、查询优化这个问题说白了,就是看你有没...

2019-12-16 17:07:32

ElasticSearch 读写原理(图解)

简介ElasticSearch 是一个分布式、高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用ElasticSearch的水平伸缩性,能使数据在生产环境变得更有价值。ElasticSearch 的实现原理主要分为以下几个步骤,首先用户将数据提交到Elastic Search 数据库中,再通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数...

2019-12-16 17:01:31

AES加密算法实现,超实用

问题AES加密模式和填充方式?AES五种加密模式?java中的Cipher类BadPaddingException异常解决办法常用加密方式及应用场景DES 对称加密 56位秘钥 (备注: 对称加密就是加密和解密使用秘钥相同)由于秘钥端随着计算机性能提升变成可破解AES对称加密 128位 256位或者512位秘钥RSA 非对称加密...

2019-12-12 15:20:04

多线程批量读取Excel 2007行数据

参考链接https://blog.csdn.net/zhangpan_soft/article/details/82698817https://blog.csdn.net/lichunericli/article/details/82832067https://blog.csdn.net/zhangpan_soft/article/details/52415238https://...

2019-06-18 11:49:22

mysql行列互转,带语句执行顺序分析

一、行转列即将原本同一列下多行的不同内容作为多个字段,输出对应内容。建表语句DROP TABLE IF EXISTS tb_score;CREATE TABLE tb_score( id INT(11) NOT NULL auto_increment, userid VARCHAR(20) NOT NULL COMMENT '用户id', subject ...

2019-03-16 11:08:20

$.ajax $.post $.get请求链接的返回值作为所在函数的返回值

只需加入$.ajaxSetup({"async": false}); //异步返回async:布尔值,表示请求是否异步处理。默认是 true。如下以post作为样例function getTotalUseBal() { var count = 0; $.ajaxSetup({"async": false}); $.post("/cu/sendMessages/get...

2018-12-17 11:03:29

layer.js 报错 cannot read property 'XXX' of null

如上图所示,前端页面引用了layer的相关内容。经最后排查问题是本人进行引用的时候数据为空导致的!layer.msg(result.message,{time:1000});如上layer.msg()函数中引用的result.message为空直接导致报错!cannotreadproperty'parents'ofnull 综上只需在引用相关函数的时候保证内容不为...

2018-12-17 10:56:30

linux服务器之间实现免密登录

(一)问题: 假如我们现在有两台机器:ServerA和ServerB,现在想要让ServerA不用输入密码就能够进行访问。 (二)方法和原理: 我们使用ssh-keygen在ServerA上生成private和public密钥,将生成的public密钥拷贝到远程机器ServerB上后,就可以使用ssh命令无需密码登录到另外一台机器ServerB上。 在linux系统中,ssh是远程登录的默认工具,...

2018-06-04 16:35:43

第三节 redis缓存更新的套路

转自 酷壳-陈皓-缓存更新的套路如有侵权请联系博主进行删除,此处仅作为学习笔记不做任何商业用途 !  看到好些人在写更新缓存数据代码时,先删除缓存,然后再更新数据库,而后续的操作会把数据再装载的缓存中。然而,这个是逻辑是错误的。试想,两个并发操作,一个是更新操作,另一个是查询操作,更新操作删除缓存后,查询操作没有命中缓存,先把老数据读出来后放到缓存中,然后更新操作更新了数据库。于是,在缓存中的...

2018-05-03 17:09:55

第二节 缓存常见问题及解决方案

如下是Redis当做缓存使用过程中的一些常见问题。一、前提      1.文中相关术语     (1)缓存命中:       终端用户访问加速节点时,如果该节点有缓存住了要被访问的数据时就叫做命中,如果没有的话需要回原服务器取,就是没有命中。(百科)     (2)过期时间:       EXPIRE,是一个常用的Redis命令,允许用户为某个key指定超时时间,当超过这个时间之后key对应的值会...

2018-05-03 17:02:33

第一节 缓存概念及分类

一、什么是数据库缓存 我们知道常见的数据库,比如oracle、mysql等,数据都是存放在磁盘中。虽然在数据库层也做了对应的缓存,但这种数据库层次的缓存一般针对的是查询内容,而且粒度也太小,一般只有表中数据没有变更的时候,数据库对应的cache才发挥了作用。但这并不能减少业务系统对数据库产生的增、删、查、改的庞大IO压力。所以数据库缓存技术在此诞生,实现热点数据的高速缓存,提高应用的响应速度,极大...

2018-05-03 16:46:27

log4j.properties配置详解

转自 http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html  此文档仅做为学习收藏,如有侵权请联系博主################################################################################ #①配置根Logger,其语法为: # #log4j.rootLogger = [l...

2018-04-28 15:09:34

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'criticalService': Injection of resource dependencies failed; nested exception is org....

2018-04-24 11:11:09

/bin/bash^M: 坏的解释器: 没有那个文件或目录

在Linux下编译cocos2d-x运行脚本的时候出现”/bin/bash^M: 坏的解释器: 没有那个文件或目录“这样的错误如下图。解决方法:    使用在终端输入sed -i 's/\r$//' make-all-linux-project.sh即可    其中make-all-linux-project.sh为我的文件名,这里改成自己需要的即可原因:    这个文件在Windows 下编辑过...

2018-04-23 17:12:44

软件命名规范

1. 软件版本阶段说明* Alpha版: 此版本表示该软件在此阶段主要是以实现软件功能为主,通常只在软件开发者内部交流,一般而言,该版本软件的Bug较多,需要继续修改。* Beta版: 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过多次测试来进一步消除,此版本主要的修改对像是软件的UI。* RC版: 该版本已经相当成熟了,基本上不存在导致错误的BUG,与即将发行...

2018-03-20 13:24:16

使用SyncNavigator轻松实现数据库异地同步、断点续传、异构同步

最近一直在研究数据库同步的问题,在网上查了很多资料,也请教了很多人,找到了一种通过快照复制的方法。研究了一番后发现之前就是用的这个方法,效果不是很好,果断放弃。经过了一番寻觅和他人指点,最后从一位热心网友那里得知一款很好用的软件—— SyncNavigator。好东西就要拿出来跟大家分享,所以今天向大家介绍一下这款软件,及其一些使用方法。下面先看看它有什么强大的功能吧!SyncNavigator的...

2018-03-20 13:22:15

找不到msvcr120.dll

电脑黑屏导致很多软件需要重装,其中解压安装的本地mysql 数据库启动的时候总是提示,找不到msvcr120.dll,需要重新安装服务 mysql我是解压安装的,所以排除了是mysql数据库安装的问题,所以直接想到应该是重装系统导致的组件缺少的问题中间查找并尝试各种方法。最后这种是有效的,如下微软官网下载,分别安装vcredist_x64.exe和vcredist_x86.exe,包你以后也不会再...

2018-03-02 15:27:51

git 合并分支的一般流程

git checkout master 切换到主干分支git pull  拉取最新远程代码git checkout -b dev  -b参数表示创建并切换相当于 git branch dev 再   git checkout devgit branch  显示所有分支,当前分支前有 * 号。git add [文件名]  git commit [文件名

2017-12-28 10:42:04

工作区到暂存区到本地仓常用命令

mkdir testcd testgit init 初始化本地仓 git add [文件]git status  查看是否有文件未推送到缓存区(no changes added to commit (use "git add" and/or "git commit -a"))或添加到版本库git commit [文件] -m "备注提交信

2017-12-27 09:19:37

mongoTemplate通过Query条件指定查询条件和返回字段

本文转自 Spring Data MongoDB 基本文档查询(Query、BasicQuery) ,仅做学习备份,如有侵权请联系博主删除!一.简介     Spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,上一篇我们介绍了对MongoDB的新增和

2017-12-19 11:38:12

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。