高性能mysql读书笔记1(架构及历史)
最近开始看高性能Mysql一书。当然800多页的数没有打算按照顺序去看,但是想到自己并没有特别了解Mysql,所以还是希望把第一章架构与历史这些内容看下。 Mysql逻辑架构 如果能在脑中有个Mysql各组件如何协同工作的架构图,这会很有助于我们了解Mysql服务器。 Mysql逻辑架构图 最上层连接/线程处理这里,处理连接、授权和安全。...
View Article高性能mysql读书笔记2(索引1)
简介 索引(Mysql里面成为键(KEY))是存储引擎用于快速找到记录的数据结构。 我们都知道,索引对于大数据量的查询来说非常有用;当然,不恰当的索引在数据量很大的时候对性能的影响也会很大。 索引类型 B-Tree(实际上是B+Tree)...
View Article关于wordpress头像被墙无法显示(导致网站打开很慢)的解决办法
最近发现自己的头像一直都是个无法找到的图片,而且导致网站打开会很慢。今天没事索性解决一下。 首先想到的是看能不能把这个图片换了,网上也看到了一种方式是把自己的头像换成一个静态地址。感觉这个方法一般,下面总结一些其他方法。 1、禁用头像显示 可以在后台——设置——讨论中,拉到下面有个禁用头像显示的选项,这种不是很推荐,没头像好怪。 2、使用插件...
View Article高性能mysql读书笔记3(索引2)
索引优化案例 我就以书中的案例给大家介绍一下。 假设要设计一个在线约会网站,用户信息表包含这些列:国家、地区、城市、性别、眼睛颜色等。其需要设计根据用户各种信息进行搜索,还需要根据用户的最后上线时间、其他会员对用户的评分排序。 尽量用到索引排序...
View Article找回密码功能设计的思考
最近在看我们系统的注册登录、账户相关的内容设计。看到了找回密码这块的内容,我就想了一下,发现问题还是挺大的。 好的找回密码设计 好的找回密码的设计要至少符合以下几点: 不要有专门的表保存这些信息(主要是验证相关的信息); 注册帐号的时候使用邮箱或者手机号作为找回密码凭证(本文暂时只讨论邮箱的方式找回); 只能使用一次,并且要有过期时间;...
View Article别人的冒犯书书摘
刚看到了别人写的陈希我的冒犯书的书摘,近期打算看看,下面拉下他的书摘~ 引言 我要冒犯你。 P. 28 你喜歡大詞彙,喜歡大問題。越大的問題你越喜歡。你喜歡爭論。你覺得真理掌握在自己手上。你覺得自己是落難英雄。你悲觀,你憤怒,但是你不敢正視自己的虛偽。你竭力為自己辯護。你辯論時脖子上血管暴現,有一次一個同學揶揄說:就像要發洩的輸精管! P. 65...
View Article高性能mysql读书笔记4(查询性能优化1)
优化mysql,除了需要最优的库表设计、很好的索引设计以外,还需要编写合理的查询。如果查询写的比较烂,索引有可能根本就用不上。那样不管库表、索引设计的再好也没用。 下面会介绍如何写出高效的查询语句,以及明白高效与低效的原因。 为什么查询速度会慢 查询需要快速,主要是要响应时间快。...
View ArticleRedis学习笔记(十一)——Redis持久化
redis通常被我们用作缓存,而很多场合我们也只把他作为缓存使用。关于Redis的各种用法,我前面也已经介绍了一遍,有兴趣的可以点回去看下。 很多时候,我们的一些数据没有做比如Mysql的持久化,就是想要全部存到Redis里面,这时候Redis也提供了相应的持久化支持。 Redis支持的持久化方式 定时快照方式(snapshot) 基于命令追加方式(AOF) 虚拟内存(vm) Diskstore方式...
View Article使用七牛云为wordpress站点免费加速
如果你比较关注本站的话,可以发现本站的速度相比以前有了一些提升,其实还是挺慢,主要wordpress里面有一些统计的东西需要访问美国的网站,导致加速速度没有办法特别快。但是相比以前好了很多。 这里的一个原因就是由于本站现在所有的静态都放到了七牛云上。 会前端的同学可以谷歌浏览器F12看到,我这里加载的很多图片地址的域名,是ocv8什么什么开头的的一串域名,这个就是七牛提供的一个域名。...
View ArticleWordPress最好用的代码高亮插件Crayon Syntax Highlighter
作为一个技术型博客,总会用到很多地方需要写代码的地方。这时候代码高亮插件就很重要了。...
View ArticleJavaCPU的分支预测(Branch Prediction)模型
本文以stackoverflow上Why is it faster to process a sorted array than an unsorted array?为原型,翻译了问题和投票高的回答,并加入了大量补充说明,方便读者理解。 背景 先来看段c++代码,我们用256的模数随机填充一个固定大小的大数组,然后对数组的一半元素求和:#include <algorithm>...
View Articlespring-data-redis的一个缺陷导致redis报错(精简版)
原文在这里 为什么要再写个精简版呢,一个是原来的文章偷懒排版太差,另一个是原来的文章代码贴得太多怕大家看的头疼。有同事也遇到这个问题了,搜到了我的文章,表示太长,不想看,好吧,下面是精简版。 本篇只简述问题、原理、解决方案,要看详细心路历程就去看原来的那篇文章吧。 问题 之前用spring-data-redis,调用redis的expire方法的时候,出现了很奇怪的错误。...
View Article正则表达式的断言
最近想从一段文本文件中找出符合一段指定要求条件的内容,于是想到了使用正则,虽然以前也用过,但是想到断言的类型还是比较多,所以把它整理下来,以后忘了就不用来回找了。 断言分为先行断言和后行断言,而每个又细分为正向和负向的,所以总共正则的断言有以下四种: (?=pattern):零宽正向先行断言(zero-width positive lookahead assertion)...
View ArticleSecureCRT 录制或编写登录脚本
注:本教程也适合用xshell的,但是命令稍微有变,想看详情直接去最后。 公司对内网机器稍微有些安全意识的话,会采用跳板机的方式让你登录远程服务器。 所谓跳板机(也叫堡垒机),就是登录所有线上服务器的方式,不是ssh直连,而且你需要先直连到某一台机器A,然后在那台机器ssh到线上具体要操作的服务器B上。而直接访问B机器是访问不了的。...
View ArticleJava中生成随机数Random、ThreadLocalRandom、SecureRandom
使用java生成随机数,其实有很多种方式,我们一点点来说。 我们最常用的方法就是下面这样直接用Random。 Random Random random = new Random(); int a = random.nextInt(5);这样a的值可能是0~4之间的数字。...
View Article好好用Java的HashMap及1.8的变化
HashMap有什么好说的?从最开始接触java语言,可能就开始使用了。对于一个稍微钻研过的Java开发来说,心里都非常的明白HashMap内部的实现结构。他就是数组+链表实现的。 最近越来越多的团队都把Java升级到1.8了,但是绝大多数人对Java的理解还都停留在1.6版本。而对于1.7、1.8的理解,也仅仅只是局限于语法这个层面。...
View ArticleJava使用JMH进行简单的基准测试Benchmark
这里说道的基准测试Benchmark其实是微基准测试Micro-Benchmark。这里面的概念就不详细介绍了,反正就是JMH可以非常方便的帮助我们进行java代码的简单基准测试。 有什么用 可以对多组代码进行基准测试比较。 很多人总说,这样用速度快,性能好,别听他们的,自己试过才知道。 Java的基准测试需要注意的几个点 测试前需要预热。 防止无用代码进入测试方法中。 并发测试。 测试结果呈现。...
View ArticleJava中关于String.format的性能问题
首先需要说明的是本文所说的是java中的String的format方法性能,可能其他语言有所差异。 下面进入正题。一般新入职一家公司的时候,会去看新公司现有的代码。我记得我来的时候用了一段时间把项目的各个业务结合代码实现整个看了个遍,我清楚的记得,我刚来的时候,我们总监的一句话,业务永远是最重要的。...
View Article