03 2019 档案

摘要:hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大 阅读全文
posted @ 2019-03-22 18:05 大雾哥 阅读(385) 评论(0) 推荐(0) 编辑
摘要:1、插入一条数据,存在就更新,不存在就更新(必须现有唯一键)使用insert ignore语句: 例如插入数据: 这样一来,如果表中已经存在last_name='LeBron'且first_name='James'的数据,就不会插入,如果没有就会插入一条新数据。上面的是一种用法,也可以用 INSER 阅读全文
posted @ 2019-03-06 23:05 大雾哥 阅读(23847) 评论(0) 推荐(2) 编辑
摘要:安装配置vsftpd做FTP服务,我们的Web应用使用git管理进行迭代,公共文件软件存储使用开源网盘Seafile来管理,基本够用。想不到FTP的使用的场景,感觉它好像老去了,虽然现在基本没有用到这个工具,但刚好公司公司刷一个硬件需要使用FTP来下载配置文件,于是研究使用了一下,记录了一下使用过程 阅读全文
posted @ 2019-03-06 00:54 大雾哥 阅读(5224) 评论(0) 推荐(0) 编辑
摘要:-rw (600) 只有拥有者有读写权限。 -rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。 -rwx (700) 只有拥有者有读、写、执行权限。 -rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。 -rwx-- 阅读全文
posted @ 2019-03-06 00:35 大雾哥 阅读(246) 评论(0) 推荐(0) 编辑
摘要:1.安装前准备开发环境安装pcre开发包:yum install -y pcre-devel 安装编译源码所需的工具和库:yum install gcc gcc-c++ ncurses-devel perl 安装cmake:yum -y install make gcc gcc-c++ ncurse 阅读全文
posted @ 2019-03-06 00:34 大雾哥 阅读(464) 评论(0) 推荐(0) 编辑
摘要:1.下载安装包 MySQL 官方下载地址:https://dev.mysql.com/downloads/mysql/ MySQL 5.7官方安装文档:https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html 2.安装依赖包 M 阅读全文
posted @ 2019-03-06 00:21 大雾哥 阅读(484) 评论(0) 推荐(0) 编辑
摘要:数据库设计范式 什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的操作都有莫大的关系。所以建立科学的,规范的的数据库是需要满足一些 规范的来优化数据数据存储方式。在关系型数据库中这些规范就可以称为范式。 什么是三大范式: 第一范式:当关系模式R的所有属性都不能在分解为更基本的数 阅读全文
posted @ 2019-03-06 00:15 大雾哥 阅读(169) 评论(0) 推荐(0) 编辑
摘要:参与过抢购活动就知道,很明显的一点是商即便商品实际没有了也是可以下单成功的,但是在支付的时候会提示你商品没有了。 实现原理:list双向链表 使用redis队列,因为pop操作是原子的,即使有很多用户同时到达,也是依次执行.(mysql事务在高并发下性能下降很厉害,文件锁的方式也是). 此处用到了R 阅读全文
posted @ 2019-03-06 00:07 大雾哥 阅读(7558) 评论(0) 推荐(0) 编辑
摘要:抢购、秒杀是平常很常见的场景,面试的时候面试官也经常会问到,比如问你淘宝中的抢购秒杀是怎么实现的等等。抢购、秒杀实现很简单,但是有些问题需要解决,主要针对两个问题: 一、高并发对数据库产生的压力二、竞争状态下如何解决库存的正确减少("超卖"问题)第一个问题,对于PHP来说很简单,用缓存技术就可以缓解 阅读全文
posted @ 2019-03-06 00:04 大雾哥 阅读(403) 评论(0) 推荐(0) 编辑
摘要:一、抽象类与抽象方法 1,任何一个类,如果它里面至少有一个方法是被声明为抽象的,那么这个类就必须被声明为抽象的。 2,定义为抽象的类不能被实例化。 3, 被定义为抽象的方法只是声明了其调用方式(参数),不能定义其具体的功能实现。 4,必须在子类中将抽象类的全部抽象方法全部实现才可以 二、接口的实现 阅读全文
posted @ 2019-03-05 23:46 大雾哥 阅读(1512) 评论(0) 推荐(0) 编辑
摘要:1、面向对象 封装继承多态 接口、重载、抽象类、最终类 面向对象 封装继承多态 首先,在解释面向对象之前先解释下什么是面向对象? [面向对象]1、什么是类? 具有相同属性(特征)和方法(行为)的一系列个体的集合,类是一个抽象的概念2、什么是对象?从类中拿到的具有具体属性值得个体,称为对象,对象是一个 阅读全文
posted @ 2019-03-05 23:30 大雾哥 阅读(604) 评论(0) 推荐(0) 编辑
摘要:核心技术点 前端优化 前端优化主要包括动态内容静态化,增加前端缓存。页面静态化是指将指含有大量动态元素的动态网页,如jsp、php等,转换为html静态页 面,静态页面由于不用加载动态元素,其访问速度要比动态页面快得多,可以增加访问速度,减小数据库压力;前端页面缓存在系统前端对Web服务器上的页面进 阅读全文
posted @ 2019-03-05 23:17 大雾哥 阅读(182) 评论(0) 推荐(0) 编辑
摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在 阅读全文
posted @ 2019-03-05 23:15 大雾哥 阅读(1138) 评论(0) 推荐(0) 编辑
摘要:当有业务需求需要一次性循环n条数据,插入或更新数据库时,如果单纯的循环,插入/更新,会消耗太多的数据库资源 一下是一种简单的解决方案 数据库的insert 是可以批量更新的,当有大量数据循环insert时,可以将数据先保留不执行插入命令,到最后一条时一次性插入,例如tp的addAll()方法; 数据 阅读全文
posted @ 2019-03-05 23:14 大雾哥 阅读(1263) 评论(0) 推荐(0) 编辑
摘要:分表: 分表分为水平分表和垂直分表。 水平分表原理: 分表策略通常是用户ID取模,如果不是整数,可以首先将其进行hash获取到整。 水平分表遇到的问题: 1. 跨表直接连接查询无法进行 2. 我们需要统计数据的时候 3. 如果数据持续增长,达到现有分表的瓶颈,需要增加分表,此时会出现数据重新排列的情 阅读全文
posted @ 2019-03-05 23:08 大雾哥 阅读(2109) 评论(0) 推荐(0) 编辑
摘要:原始方案(失败):在每次下订单前我们判断促销商品的数量够不够,不够不允许下订单,更改库存量时加上一个条件,只更改商品库存大于0的商品的库存,当时我们使用ab进行压力测试,当并发超过500,访问量超过2000时,还是会出现超卖现象。 第1种方案:使用mysql的事务加排他锁来解决,首先我们选择数据库的 阅读全文
posted @ 2019-03-05 23:06 大雾哥 阅读(7049) 评论(2) 推荐(1) 编辑
摘要:问题描述 引起这个原因的主要因素是高并发下,我们一般设定一个缓存的过期时间时,可能有一些会设置5分钟啊,10分钟这些;并发很高时可能会出在某一个时间同时生成了很多的缓存,并且过期时间在同一时刻,这个时候就可能引发——当过期时间到后,这些缓存同时失效,请求全部转发到DB,DB可能会压力过重。 处理方法 阅读全文
posted @ 2019-03-05 22:58 大雾哥 阅读(847) 评论(0) 推荐(0) 编辑
摘要:thinkphp版 //避免频繁请求 (ThinkPHP) $sessID = 'register' . $data['mobile_code_id'] . $data['mobile'] . $data['password']; if(!(new \think\session\driver\Red 阅读全文
posted @ 2019-03-02 23:12 大雾哥 阅读(1309) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示