持久化两种方式
snapshotting
append-only file 「AOF」
snapshootingBGSAVE后台备份,会启动一个子进程来备份,当Redis内存很大时,比较消耗时间,建议手动使用SAVE命令保存
AOFappendonly yes
[appendfsync always]每次写入都刷新到硬盘上[appendfsync everysec]每秒钟同步一次到硬盘[appe
Continue reading
一、表面层次的改进1. 把信息装到名字里(1)选择专业的词清晰和精确比装可爱好。
单词
更多选择
Get
Fetch, Download
Stop
Kill, Pause
Send
Deliver, Dispatch, Announce, Distribute, Route
Find
Search, Extract, Locate, Recover
Start
Lau
Continue reading
Handler_read_rnd_next: 表示“在数据文件中读下一行的请求数。如果你正进行大量的表扫描,该值较高。通常说明你的表索引不正确或写入的查询没有利用索引。
Continue reading
Artisan Console第二章介绍过Migrations, 当时我们只是介绍了,它可以帮助我们生成数据库表结构,但是当时只是在一个库里面生成的,结合到DHB3.0。
我们有业务很多库,所以需要在多个业务库生成表结构。
创建一个指令php artisan make:command DHBMigrate
//注册指令
//app/Console/Kernel.php的$commands里面添加
Continue reading
什么是Middleware?
Laravel里面很多设置模式的概念,DI[Dependency Injection], Intercepting Filter 参考J2EE的责任链
用中间件有什么好处可以帮我们很清晰的分离代码,简化关键逻辑
定义中间件php artisan make:middleware CheckAge
<?php
namespace App\Http\Middle
Continue reading
背景现在我们的开发 -> 测试 -> 线上 环境的SQL脚本,都是通过手动拷贝SQL,然后交由DBA手动执行;
这样会存在一些问题
我们忘记记录SQL,上线直接报错
DBA不在,我们不能执行SQL
执行之后,SQL不能回滚
新成员加入,不能直接生成表结构和初始化数据
Laravel解决方案:Migrations用PHP生成表结构,统一入口,生成表的变动记录,方便回滚
步骤1://新
Continue reading
前段时间在公司做了一个Laravel分享,主要内容是Laravel如何优化我们的工作流。希望大家有机会也考虑下如何用Laravel优化我们的平时工作,做一个学会偷懒的程序员。
RESTful APIhttps://www.evernote.com/shard/s451/sh/1a43c0a6-fdd0-4c60-af51-15e9da561b3a/03730d4d21affc36
创建RESTfu
Continue reading
Git推荐一个Git教程
http://backlogtool.com/git-guide/cn/
推荐一本书
Pro Git
Git常用命令配置提交用户名和邮箱git config –global user.name “John Doe”
git config –global user.email johndoe@example.com
.gitignore需要忽略的文件,我们需要将自己的
Continue reading
Git&Gitlab这段时间公司从SVN切换到Git, 本来想选择Github,无奈Github企业版价格太高,转而自己搭建了Gitlab的社区版。
Gitlab的坑2G RAM + 1G swap;可以支持100个User。之前我搭建的时候忘记设立swap;隔一段时间Gitlab就报500 error;
解决办法参考Stackoverflow
自动化部署Gitlab支持Webhook,支
Continue reading
MySQL存储引擎
MyISAM:不支持外键,不支持事务
InnoDB:支持外键,支持事务
Archive:压缩存储,存储的空间比MyISAM更小,Select操作需要全表扫描,适合存放系统日志
Memory:存放在内存中,速度比MyISAM快一个数量级
Blackhole
CSV:可以直接将CSV导入到数据库
Federated
NDB集群
选择合适的存储引擎除非需要某些InnoDB不支持的特
Continue reading