摘要: memcached的内存管理与删除机制 简介 注意:Memcache最大的value也只能是1M的空间,超过1M的数据无法保存(修改memcache源代码)。 注意:内存碎片化永远都存在,只是哪一种方式可以使得内存碎片最小。 1. 什么是内存碎片化? 在使用这种内存缓存系统的时候,由于不断的申请,释放,就会形成一些很小的内存片段,无法被利用,这种现象就叫做,内存的碎片化。这个小块就是操作系... 阅读全文
posted @ 2016-04-08 23:41 尼农小道 阅读(1109) 评论(0) 推荐(0)
摘要: 大型网站优化-memcache技术 memory+cache 内存缓存 memcache简介 memcache是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,目前被许多网站使用以提升网站的访问速度,尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效 阅读全文
posted @ 2016-04-08 23:27 尼农小道 阅读(2207) 评论(1) 推荐(2)
摘要: MySQL常见注意事项 模糊查询 like 默认是对name字段建立了索引 注意:在使用模糊查询的时候,当% 在第一个字母的位置的时候,这个时候索引是无法被使用的。但是% 在其他的位置的时候,索引是可以被使用的。 # select * from tableName where name like "%zhangsan"; ?可以使用到索引啊? 不可以。 分析:因为是不确定查询,在表中任何一行记... 阅读全文
posted @ 2016-04-08 21:08 尼农小道 阅读(1443) 评论(0) 推荐(0)
摘要: explain执行计划 简介MySQL调优: 先发现问题(慢查询,profile) 对于使用索引和没有使用索引,了解到索引可以快速去查找数据 了解什么是索引(索引是排好序的快速查找的数据结构) 索引的管理(查看,创建,删除) 索引的本身的数据结构(B-TREE结构和聚簇结构) MySQL是如何去使用这些索引的(explain工具),需要去发现索引是否合理的被使用,防止索引滥用。 注意:索引对查... 阅读全文
posted @ 2016-04-08 20:58 尼农小道 阅读(212) 评论(0) 推荐(0)
摘要: MySQL优化 简介 由于页面静态化技术可以实现对动态数据的缓存,但是有的时候还是需要去请求数据库。所以对数据库的优化也是不可缺少的。 优化思路 设计:存储引擎,字段,范式 自身:索引,自身的缓存 架构:读写分离 存储引擎: MyISAM和InnoDB之间的对比。当然需要知道MySQL除了这两种存储引擎还有其他的存储引擎(memory存储引擎)。 MySQL在5.5版本之后默认的存储引擎为... 阅读全文
posted @ 2016-04-08 20:21 尼农小道 阅读(365) 评论(0) 推荐(0)
摘要: 数据库检索的问题 主要是为了减少数据库的操作,让MySQL能够提供更强大的服务 使用缓存技术 磁盘缓存:就是将用户请求数据库的数据,保存到磁盘文件形成一个静态的HTML文本,下次用户的访问的时候,直接返回该HTML文本。 内存缓存:将MySQL的数据取出之后,保存到内存(memcache,不算一个NOSQL数据库,但是是一个缓存系统)之中,下次直接从内存中返回。(效率非常高) 注意:只要不使用... 阅读全文
posted @ 2016-04-08 20:20 尼农小道 阅读(988) 评论(0) 推荐(0)
摘要: 防盗链案例 效果 形如下面的这种提示: 一般在自己的网站去盗用别人网站里面的资源(图片)的时候,别人网站为了防止图片被盗取,这个时候可以采取防盗链的方式来避免资源的盗取。 盗取别人网站的图片主要是为了节省自己网站流量。 防盗链实现 主要是利用http请求头里面的一个referer信息来实现的。 当目标网站的Apache的rewrite模块去判断referer是否为自己允许的地址,如果是... 阅读全文
posted @ 2016-04-08 20:17 尼农小道 阅读(347) 评论(0) 推荐(0)
摘要: 伪静态的实现 简介 主要使用Apache提供的一个rewrite模块来实现,可以实现URL地址的重写 使用 开启配置 更改虚拟主机里面的配置 在网站根目录建立一个.htaccess文件 案例1 实现将动态URL地址转换成一个静态的HTML地址 http://local.order.com/index.html ----》Apache服务器 (rewrite重写... 阅读全文
posted @ 2016-04-08 20:16 尼农小道 阅读(415) 评论(0) 推荐(0)
摘要: 大型网站问题的解决方案 大并发 答:可以使用服务分层架构实现,主要使用的技术是负载均衡器。 分层: 单服务器 b. 简单分层 c. 集群(负载均衡集群) 场景模拟: 实现图: 负载均衡器常见实现: 硬件:f5 ,立竿见影,效果明显,价格昂贵,主要游戏公司,银行使用,20w左右单台 软件:nginx(七层)和lvs(四层,性能更好) nginx也是... 阅读全文
posted @ 2016-04-08 18:04 尼农小道 阅读(452) 评论(1) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2016-04-08 17:19 尼农小道 阅读(94) 评论(2) 推荐(0)
摘要: 大型网站的标准 问题:什么样的网站才能算的上大型网站? 答: 用户访问量(优酷,百度) 流量大(优酷:流媒体服务器搭建,主要技术点在于带宽) 海量数据的检索问题(discuz!搭建论坛) 问题:访问量大的网站流量一定大吗? 答:百度,hao123 标准定义 由于上面的评定标准相对来说不统一,业内就规 阅读全文
posted @ 2016-04-08 17:18 尼农小道 阅读(698) 评论(0) 推荐(0)
摘要: SCP服务实现Linux交互 在实际工作中,我们可以使用scp服务器进行Linux与Linux之间的信息交互。 基本指令: scp 本地文件 远程文件 scp 远程文件 本地文件 scp –r 文件夹 文件夹 scp –P 端口 文件 文件 例1:上传文件到其... 阅读全文
posted @ 2016-04-08 17:07 尼农小道 阅读(275) 评论(0) 推荐(0)
摘要: 使用Linux系统中的SSH服务 1、SSH服务应用场景 ① 可以实现对文件的上传与下载 ② 实现远程管理Linux 2、安装SSH服务器 服 务:sshd 位 置:光盘2 软 件:openssh-server-3.9p1-8.RHEL4.1.rpm 配 置:/etc/ssh/sshd_config rpm –ivh 软件名称 3、启动SSH服务 启动成功后,默认sshd服务占用... 阅读全文
posted @ 2016-04-08 13:26 尼农小道 阅读(162) 评论(0) 推荐(0)
摘要: SCP服务实现Linux交互 在实际工作中,我们可以使用scp服务器进行Linux与Linux之间的信息交互。 基本指令: scp 本地文件 远程文件 scp 远程文件 本地文件 scp –r 文件夹 文件夹 scp –P 端口 文件 文件 例1:上传文件到其... 阅读全文
posted @ 2016-04-08 13:26 尼农小道 阅读(848) 评论(0) 推荐(0)
摘要: 让apache与mysql随着系统自动启动 在Linux中有一个文件/etc/rc.d/rc.local文件,其系统在启动时会自动加载该文件,我们可以把要启动的服务放入这个文件中即可。 添加以下代码: 阅读全文
posted @ 2016-04-08 13:24 尼农小道 阅读(327) 评论(0) 推荐(0)
摘要: 向php文件中添加php.ini文件 默认情况下,php是没有php.ini配置文件的,必须手工添加php.ini文件 在php安装目录中,复制php.ini文件到/usr/local/php/lib文件夹下 运行后,重启apache两次即可。 运行结果: 阅读全文
posted @ 2016-04-08 13:24 尼农小道 阅读(409) 评论(0) 推荐(0)
摘要: 为apache与mysql创建快捷方式 1)为apache创建快捷方式(软链接) 以后我们就可以在终端的任一位置,使用apachectl start|stop|restart 2)为mysql创建快捷方式(软链接) 以后我们就可以在终端的任一位置,使用mysql -uroot -p启动mysql数据库了 阅读全文
posted @ 2016-04-08 02:10 尼农小道 阅读(337) 评论(0) 推荐(0)
摘要: 安装PHP软件 ① tar -zxvf php-5.2.5.tar.gz ② cd php-5.2.5 ③ 使用configure配置安装信息(最重要) ./configure \ --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs :指定Apache目录 --with-mysql=/usr/local/mys... 阅读全文
posted @ 2016-04-08 02:08 尼农小道 阅读(209) 评论(0) 推荐(0)
摘要: 安装MySQL软件(绿色版) ① 解压软件包 ② 更改文件夹名称为mysql并复制到/usr/local文件夹下 ③ 使用cd指令进入/usr/local/mysql文件夹,使用ls –l查看 查看后发现,文件中的文件拥有者与文件的所属组都显示8972,为什么呢? 答:因为开发者在打包mysql时,系统会自动保存文件的拥有者与所属组,如果这个拥有者和所属组在当前Linux操作系统中找不... 阅读全文
posted @ 2016-04-08 02:07 尼农小道 阅读(174) 评论(0) 推荐(0)
摘要: 安装Apache(httpd服务) ① 移动所有压缩包到root文件夹下(root的家) ② 解压httpd压缩包(.tar.gz) 使用tar指令解压.tar.gz压缩包 tar 指令 -zxf :解压文件 -v :解压时显示解压进度 ③ 使用configure来设置配置信息 设置完成后,单击回车即可。 ④ 使用make指令编译源码生成可执行文件 ⑤ 使用make instal... 阅读全文
posted @ 2016-04-08 02:06 尼农小道 阅读(241) 评论(0) 推荐(0)
摘要: 卸载Linux内置的AMP软件 在安装Linux软件的LAMP环境时,必须有一个前提:必须要完全卸载掉系统内置的AMP软件。 1、卸载httpd软件(Apache) 如果在卸载软件时出现依赖关系,我们可以在服务名称后面添加一个参数—nodeps来强制卸载该软件。 2、卸载mysql软件 3、卸载php软件 阅读全文
posted @ 2016-04-08 02:05 尼农小道 阅读(298) 评论(0) 推荐(0)
摘要: 使用FlashFXP V3.8烈火汉化绿色版软件连接Linux 单击右上角的小闪电图标: 特别注意:出于安全考虑,FTP默认禁止使用root账号登陆Linux主机,必须使用除root用户以外的其他用户,如xiaoqiang、wangcai 出现以下图标状态,代表连接成功,默认定位到用户的家/home/wang文件夹,使用传送指令,传输amp软件到Linux主机中 登陆Linux服务器,... 阅读全文
posted @ 2016-04-08 02:04 尼农小道 阅读(351) 评论(0) 推荐(0)
摘要: 配置FTP服务 1、安装FTP服务器(默认已安装) 服 务:vsftpd 位 置:光盘1 软 件:vftpd-2.0.1-5.i386.rpm 配 置:/etc/vsftpd/vsftpd.conf 2、启动FTP服务(vsftpd) service vsftpd start|stop|restart|status 启动完成后,其默认占用系统中的21号端口,所以链接时也是使用... 阅读全文
posted @ 2016-04-08 02:03 尼农小道 阅读(159) 评论(0) 推荐(0)
摘要: 配置网络 1、开启虚拟网络 单击左侧导航的更改适配器设置: 开启Vmware虚拟网络1与网络8 2、设置虚拟主机网络类型为:桥接模式(重要) 关闭虚拟主机,设置网络类型为桥接模式,然后启动即可。 3、使用vi编辑器配置虚拟机网络 文件路径:/etc/sysconfig/network-scripts/ifcfg-eth0 :第一块网卡的配置信息 打开文件后,效果如下图: D... 阅读全文
posted @ 2016-04-08 02:02 尼农小道 阅读(321) 评论(0) 推荐(0)
摘要: Linux相关指令 1、find文件搜索功能 find [目录列表] [匹配参数] [匹配标准] -name :按文件名称进行搜索 -group :按文件所属组进行搜索 -user :按文件拥有者进行搜索 例1:以-name作为搜索条件进行搜索 例2:以-group作为搜索条件进行搜索 例3:以-user作为搜索条件进行搜索 2、df磁盘相关指令 df :查看磁盘信息 -l :loc... 阅读全文
posted @ 2016-04-08 02:01 尼农小道 阅读(151) 评论(0) 推荐(0)
摘要: 文件操作 1、文件权限 在Linux系统中,每一个文件都是自己的操作权限,常用操作权限: 权限:644 = (r+w)(r)(r) 权限:755 = (r+w+x)(r+x)(r+x) 权限:777 = (r+w+x)(r+w+x)(r+w+x) 一般情况下,每一个文件的权限都有3位数字 第1列:文件拥有者权限 第2列:组内用户权限 第3列:组外用户权限 在这3位数字中,每一个数字都可以... 阅读全文
posted @ 2016-04-08 01:54 尼农小道 阅读(193) 评论(0) 推荐(0)
摘要: 用户和组 1、用户和组原理图 2、用户和组的应用场景 ① 实现系统的用户管理 ② 主要为了实现软件的安装配置 3、与组相关的文件 1)/etc/group :组文件信息 使用vi编辑器打开/etc/group文件 打开后如下图所示: 第1列:组名称 第2列:使用一个x占位符,真实密码存储在/etc/gshadow文件中 第3列:组id,组的唯一标识 0代表root超级管理员组 1-4... 阅读全文
posted @ 2016-04-08 01:53 尼农小道 阅读(308) 评论(0) 推荐(0)
摘要: 引导系统 1、选择操作系统 /etc/grub.conf 使用ls –l指令查看/etc/grub.conf文件,如下图所示: 我们发现,使用ls –l指令查看grub.conf文件,其文件的颜色不同于其他的文本文档,这种颜色的文件在Linux系统中被称之为"软链接文件"。 使用vi指令编辑grub.conf引导文件,如下图所示: 显示文本: 第10行:默认进入索引为0的第一个操作系统... 阅读全文
posted @ 2016-04-08 01:51 尼农小道 阅读(288) 评论(0) 推荐(0)
摘要: 使用单用户模式破解Linux密码 特别说明:在实际工作应用中,安装Linux操作系统必须设置装载口令,否则很容易被破解。 1、使用reboot指令重启Linux操作系统 2、在进入操作系统数秒时,单击Esc按键,进入如下界面 3、按字母小e进入如下编辑模式 4、选择第二个选项,然后再次单击字母小e 更改完成后,单击回车,如下图所示: 5、单击字母小b,重启操作系统,进入如下界面 ... 阅读全文
posted @ 2016-04-08 01:46 尼农小道 阅读(671) 评论(0) 推荐(0)
摘要: Linux软件的安装与卸载 1、Linux软件分类 .rpm :二进制软件包,经过编译的可以直接运行的软件包(相当于Windows中的exe文件) .tar.gz :二进制源码包,没有经过编译的软件源代码包,使用时必须先编译后安装 在Linux系统中安装软件并没有Windows那么容易,因为在Linux系统中安装软件必须要解决包与包之间的依赖关系。 2、使用rpm指令+管道命名查询系统软件 r... 阅读全文
posted @ 2016-04-08 01:45 尼农小道 阅读(216) 评论(0) 推荐(0)
摘要: Shell指令 1、Shell原理图 2、Shell指令的基本语法 Shell指令 Shell –选项 参数 Shell –选项 Shell参数 3、常用的Shell指令 1)ls指令:显示文件信息 选项: -l :以列表形式显示文件信息 -a :显示所有文件(包括隐藏文件) -al :以列表形式显示所有文件(包括隐藏文件) 2)pwd :显示当前目录信息 3)cd :切换... 阅读全文
posted @ 2016-04-08 01:43 尼农小道 阅读(239) 评论(0) 推荐(0)
摘要: VI编辑器 1、什么是VI编辑器 VI编辑器全程:visual interface 在Linux操作系统中,打开终端:使用vi指令进入vi编辑器 2、VI编辑操作模式 Command Mode 命令模式(默认进入的模式) Insert Mode输入模式 Last Line Mode末行模式 当我们使用vi指令打开vi编辑器时,系统默认... 阅读全文
posted @ 2016-04-08 01:43 尼农小道 阅读(246) 评论(0) 推荐(0)
摘要: Linux系统目录分析 /bin :系统指令目录(如ls、cp、mv等指令) /dev :系统设备目录 /home :系统用户的家,每一个系统用户都在此目录下有一个自己的家,每次登录时,系统都会自动登录到自己的家,在家里,用户具有最高的权限。 /lib :系统库文件目录,.so后缀(动态库) .a后缀(静态库) /media :系统多媒体目录,cdrecorder(光驱),floppy(软驱) ... 阅读全文
posted @ 2016-04-08 01:41 尼农小道 阅读(174) 评论(0) 推荐(0)
摘要: Linux系统安装 1、虚拟机安装 VirtualBox VMware(主要) VMware安装没有任何要求,下一步下一步安装即可。 2、创建Linux运行环境 1)创建一个新的虚拟机 2)选择自定义配置 3)选择安装来源 4)选择Linux红帽4的运行环境(重要) 5)选择虚拟机存放位置 要求:硬盘空间必须大于等于10G以上 6)选择内存大小(512M~1024M之间即可) ... 阅读全文
posted @ 2016-04-08 01:34 尼农小道 阅读(296) 评论(0) 推荐(0)
摘要: Linux概述 1、计算机资源 硬件资源 软件资源 硬件资源 软件资源 硬件资源与软件资源之间的桥梁就是操作系统 2、操作系统分类 Windows :个人版用户最多 Mac :土豪机 Linux :主要应用于服务器 Unix :最早期的操作系统 Windows :个人版用户最多 Mac :土豪机 L 阅读全文
posted @ 2016-04-08 01:32 尼农小道 阅读(199) 评论(0) 推荐(0)
摘要: 1、文件上传三步走 ① 实例化Upload文件上传类 ② 设置相关属性(文件上传格式、大小、路径) ③ 调用upload方法完成文件上传 调用add方法实现添加操作 阅读全文
posted @ 2016-04-08 01:29 尼农小道 阅读(144) 评论(0) 推荐(0)
摘要: highcharts实现统计图效果 ① 根据需求确定需要使用的案例图 把这个界面的html模板文件复制出来,放入./Application/Admin/View/User下改名为chart.html ② 在index.html页面中定义统计链接 ③ 在控制器中定义chart方法,实现统计图效果 ④ 更改chart.html模板 运行效果: 阅读全文
posted @ 2016-04-08 01:27 尼农小道 阅读(268) 评论(0) 推荐(0)
摘要: 数据分页 1、数据分页七步走 ① 实例化模型 ② 通过count函数获取数据表中的总记录数 ③ 实例化Page分页类 ④ 调用show方法显示分页链接 ⑤ 调用limit方法实现分页程序 ⑥ 通过assign方法分配变量到模板文件 ⑦ 通过display方法显示输出模板内容 2、具体实现 1)在User控制器中的index方法实现分页七步走 2)在模板页面中调用相关数据 阅读全文
posted @ 2016-04-08 01:25 尼农小道 阅读(200) 评论(0) 推荐(0)
摘要: 验证码功能 ① 在Public控制器中定义verify方法 ② 设置验证码相关参数 codeSet:显示的字符串 useZh:是否使用中文验证码 zhSet:显示的中文字符串 useImgBg:是否使用图片背景 fontSize:字体大小 useCurve:是否使用混淆线 useNoise:是否使用杂点 length:验证码采用多少个字符 fontttf:使用的字体样式 ③ 中文验证码... 阅读全文
posted @ 2016-04-08 01:21 尼农小道 阅读(274) 评论(0) 推荐(0)
摘要: 文件载入功能 1)项目Common文件载入 在./Application/Common/Common文件夹下创建funciton.php文件,当系统运行时会自动加载该function.php文件。 在任何前后台模块下都可以使用tree函数,如下图所示: 2)自定义文件载入 路径:./Application/Common/Common/func.php文件 在config.php配置文件中,... 阅读全文
posted @ 2016-04-08 01:19 尼农小道 阅读(173) 评论(0) 推荐(0)
摘要: 代码调试功能 1)APP_DEBUG,显示详细错误 只需要在入口文件中,添加define('APP_DEBUG',true); 2)调试SQL语句错误 $mode->getLastSql() :获取最后一条执行的SQL语句 3)使用dump函数对变量进行格式化 4)使用SHOW_PAGE_TRACE开启页面追踪 阅读全文
posted @ 2016-04-08 01:18 尼农小道 阅读(200) 评论(0) 推荐(0)
摘要: 实用项 1、会话控制技术 早期的http请求都是无状态的,所以服务器端没有办法追踪用户的运行轨迹,所以为了记录用户的运行轨迹而出现了会话控制技术。 cookie技术(实体会员卡) session技术(虚拟会员卡,以手机号码作为参考) 1)session技术 session('name','value'); :设置session $value = session('name'); :获取sessi... 阅读全文
posted @ 2016-04-08 01:17 尼农小道 阅读(118) 评论(0) 推荐(0)
摘要: 连贯操作 案例:实现职员管理功能 ① 设计数据库 ② 创建UserController控制器 ③ 定义add方法 ④ 构建add.html模板到./Application/Admin/View/User,并更改链接地址 ⑤ 定义左侧导航链接 ⑥ 时间选择插件 1)导入js文件 2)在input文本框中添加onfocus事件 ⑦ 定义addOk方法实现接收与添加数据 首先... 阅读全文
posted @ 2016-04-08 01:16 尼农小道 阅读(290) 评论(0) 推荐(0)
摘要: AR模式 在ThinkPHP框架中,一共存在两种操作模式:ORM模式与AR模式 ORM模式:① 实例化模型 ② 创建数据对象组装数组 ③ 调用相关方法执行相关操作 AR模式:① 实例化模型 ② 把数据映射到模型属性 ③ 调用相关方法执行相关操作 1、AR模式 表映射到类 字段映射到属性 记录映射到对象 使用PHP代码模拟AR模式 ① 设计数据库 ② 创建UserModel.class.ph... 阅读全文
posted @ 2016-04-08 01:15 尼农小道 阅读(1280) 评论(0) 推荐(0)
摘要: 表名操作 在实际项目开发中,一共有三种情况会用到表名操作。 1、表前缀(养成习惯) 在实际项目开发中,如果一个数据库中要同时存放多个项目信息,为了以示区分每一个项目的数据表,我们可以使用表前缀原则: think_oa 办公:oa_ think_shop 商城:shop_ think_cms 内容管理系统:cms_ 2、表名操作(属性) ① tableName 表名操作 在实际项目开发中,一... 阅读全文
posted @ 2016-04-08 01:14 尼农小道 阅读(209) 评论(0) 推荐(0)
摘要: 字段映射 1、为什么需要字段映射 在实际项目开发中,如果想实现数据的添加等操作,必须有一个前提:表单数据中的表单名称必须与数据表的字段名称一致,否则在创建数据对象时,会导致数据插入异常,而且这样也容易暴露数据表的字段信息。 部门表分析:Dept控制器,表名可能是:前缀_dept 分析表单:部门名称对应name 上级部门对应pid 排序对应sort ... 阅读全文
posted @ 2016-04-08 01:13 尼农小道 阅读(1148) 评论(0) 推荐(0)
摘要: ThinkPHP中的模型 1、为什么要创建数据对象 案例:使用ThinkPHP完成部门管理 ① 设计数据库 ② 创建Dept控制器 路径:./Application/Admin/Controller创建控制器 规则:DeptController.class.php 编程程序三步走 ③ 复制add.html模板到./Application/Admin/View/Dept文件夹,更改模板路径 ... 阅读全文
posted @ 2016-04-08 01:12 尼农小道 阅读(343) 评论(0) 推荐(0)