- 博客(11)
- 收藏
- 关注
原创 面试题
web安全:SQL注入: 由于用户输入一些不安全的数据。 防范:白名单与黑名单,转义,过滤。CSRF(跨站请求伪造): 通过模拟cookie信息,进行恶意请求 防范:验证码,tokenXSS攻击: 用户输入javascript代码,过滤处理DDOS攻击: 对服务器短时间内大量请求,造成服务器挂掉宕机。缓存:使用缓存场景: ...
2018-08-22 17:34:59 166
原创 Mysql MYISAM与Innodb区别
一、存储结构 每个myisam的表在磁盘空间上有三个文件,表定义文件(.frm),数据文件(.MYD),索引文件(MYI) Innodb:所有表都存储在同一个数据文件(也可能是多个,或者独立的表空间)二、存储空间 MYISAM:可被压缩,存储空间较小。 Innodb:需要更多的内存和存储,会在主内存建立其专用的缓冲池用于高速缓冲数据和索引。 MYISAM的索引...
2018-08-21 17:12:50 292
原创 Mysql Explain语句详解
一、Explain简介: Explain是用来分析SQL语句的运行结果,通过该命令可以获取一下信息:表的读取顺序,数据库读取操作的操作类型,哪些索引可以使用,实际使用了哪些索引,表之间的引用,每张表有多少行别优化器查询等信息。二、体验Explain执行效果 EXPLAIN SELECT e.*, d. NAME AS deparment_name, d...
2018-08-18 14:14:01 810 1
原创 Mysql的索引是什么?如何创建索引?创建索引的原则?怎么优化?
索引的理解:索引是对数据库表中的一列或多列的值进行排序的一种数据结构。索引的作用就类似于书本的目录,新华字典的拼音,偏旁部首的首查字,可以快速的检索到需要的内容,mysql在300万条记录性能就下降了,虽然mysql官方文档说达500万~800万,所以当数据达到几百万的时候,那么索引就很有必要了。当表中有大量记录的时候,若要对表进行查询,第一种就是就需要把表中的记录全部取出来,在和查...
2018-08-17 16:37:49 2404
转载 MySql—视图、函数、存储过程、触发器
MySql高级—视图、函数、存储过程、触发器目录 一、视图 11、视图的定义 1 2、视图的作用 1 ...
2018-08-16 16:34:36 386
原创 PHP 获取IP所属地区
$ip=get_client_ip();if(!preg_match("/^[\d]+\.[\d]+\.[\d]+\.[\d]+$/isU",$ip)){ echo "IP地址错误";}else{ //淘宝IP接口 $url='http://ip.taobao.com/service/getIpInfo.php?ip='.$ip; $result = fil...
2018-08-04 10:32:41 1042
转载 缓存系列文章--7.无底洞问题(multiget hole)
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678一、背景1. 什么是缓存无底洞问题: Facebook的工作人员反应2010年已达到3000个memcached节点,储存数千G的缓存。他们发现一个问题–memcached的连接效率下降了,于是添加memcached节点,添加完之后,并没有好转。称为“无底洞”现象2. 缓存无底洞产...
2018-08-01 18:02:31 535
转载 缓存系列文章--6.缓存雪崩问题
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678一、什么是缓存雪崩 从下图可以很清晰出什么是缓存雪崩: 1. 由于Cache层承载着大量请求,有效的保护了Storage层(通常认为此层抗压能力稍弱),所以Storage的调用量实际很低,所以它很爽。大笑 2. 但是,如果Cache层由于某些原因(宕机、cache服务挂了或者...
2018-08-01 17:24:01 145
转载 缓存系列文章--5.缓存穿透问题
转载请注明出处哈:http://carlosfu.iteye.com/blog/2269678一. 缓存穿透 (请求数据缓存大量不命中): 缓存穿透是指查询一个一定不存在的数据,由于缓存不命中,并且出于容错考虑, 如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。 例如:下图是一个比较典型的cache-storage架...
2018-08-01 17:06:16 190
转载 缓存系列文章--4.缓存的粒度控制
一、什么是缓存粒度下面这个图是很多项目关于缓存使用最常用的一个抽象,那么我们假设storage层为mysql, cache层为redis。 假如我现在需要对视频的信息做一个缓存,也就是需要对select * from video where id=?的每个id在redis里做一份缓存,这样cache层就可以帮助我抗住很多的访问量(注:这里不讨论一致性和架构等等问题,只讨论缓存的粒度问题)...
2018-08-01 16:22:17 1433
转载 缓存系列文章--3.缓存常用更新策略对比(一致性)。
一、缓存的几种更新策略从下面的表格看,缓存的更新策略大概氛围三种、本文将从一致性和维护成本两个方面对于三种缓存更新策略进行简要说明,因为这些东西比较理论和抽象、入哪里说得不对,欢迎拍砖注: 1):一致性:缓存和真实数据源(例如mysql, hbase, elasticsearch等等)是否存在一段时间数据的不一致。 2):维护成本: 开发人员的开发和维护成本。 ...
2018-08-01 15:59:43 352 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人