摘要:
1. 购买了VPS,CentOS系统,发现服务器时间与北京时间往往不一致,存在时差。 2. 可以执行tzselect命令按提示更换时区,依次选择5 Asia,9 China,1 Beijing Time。 3. 将 这行添加到/etc/profile(所有用户生效)或者~/.bash_profile 阅读全文
摘要:
设计模式:观察者模式 当一个对象的状态发生改变时,依赖他的对象会全部收到通知,并自动更新。 使用场景 一个事件发生后,要执行一连串更新操作。传统的编程方式,就是在事件的代码之后直接加入处理逻辑,当更新得逻辑增多之后,代码会变得难以维护,这种方式是耦合的,侵入式的,增加新的逻辑需要改变事件主题的代码。 阅读全文
摘要:
一、概念 Git是一个分布式的版本控制工具,区别于集中式管理的SVN。 二、优势 每个开发者都拥有自己的本地版本库,可以在本地任意修改代码、创建分支,不会影响到其他开发者的使用; 所有版本信息均保存在.git目录下,完整克隆中心版本库; 切换分支迅速,方便合并,合并速度快于SVN; 分布式版本库,无 阅读全文
摘要:
缓存穿透 概念 访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。 解决方案 1. 采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤; 2. 访问key未在DB查询到值,也将空值写进缓存,但可以设置较短过期时间。 缓存雪崩 概 阅读全文
摘要:
cgi cgi是通用网关接口定义。当web server收到/index.php这个请求后,会启动对应的CGI程序,这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程。web server再把结果返回给 阅读全文
摘要:
锁类型/引擎 | 行锁 | 表锁 | 页锁 | | | MyISAM | |有| InnoDB | 有|有| BDB(被InnoDB取代) | |有|有 锁的分类 表锁:开销小,加锁快,不会死锁,粒度大,冲突率高,并发低。 行锁:开销大,加锁慢,会死锁,粒度小,冲突率低,并发高。 页锁:处于表锁和行 阅读全文
摘要:
一、分库分表类型 1、单库单表 所有数据都放在一个库,一张表。 2、单库多表 数据在一个库,单表水平切分多张表。 3、多库多表 数据库水平切分,表也水平切分。 二、分库分表查询 通过分库分表规则查找到对应的表和库的过程: 如分库分表的规则是acc_id mod 4的方式,当用户新注册了一个账号,账号 阅读全文
摘要:
背景及现象 report_product_sales_data表数据量2800万; 经测试,在当前数据量情况下,order by主键id,limit最大到49的时候可以用到索引report_product_sales_data_hq_code_orgz_id_index,大于49时就走PRIMARY 阅读全文
摘要:
现象 新建了一张员工表,插入了少量数据,索引中所有的字段均在where条件出现时,正确走到了idx_nap索引,但是where出现部分自左开始的索引时,却进行全表扫描,与MySQL官方所说的最左匹配原则“相悖”。 数据背景 sql CREATE TABLE ( int(11) NOT NULL AU 阅读全文
摘要:
Linux配置supervisor,用于管理beego应用进程的启动/停止/重启等操作。 阅读全文