宗小宗-PHP程序猿

欢迎各位朋友前来,如果我的文章中有不对的地方,还望指正;如需转载,请注明原处

07 2016 档案

摘要:修改Apache配置文件 第一步,添加两个模块 第二步,配置压缩文件类型 第三步,重启Apache,刷新页面,看看Response里面是不是多了Content-Encoding:gzip 阅读全文
posted @ 2016-07-30 10:57 宗小宗 阅读(386) 评论(0) 推荐(0)
摘要:常见应用 获取客户端IP地址 阅读全文
posted @ 2016-07-29 11:11 宗小宗 阅读(433) 评论(0) 推荐(0)
摘要:之前在mac安装了php和nginx每次都用一堆命令重启 今天没事情干,心血来潮,自己研究写了一段shell脚本来重启 首先sudo vim /usr/sbin/pn 代码如下 然后保存 加执行权限sudo chmod +x /usr/sbin/pn 以上代码不是最简洁的,有兴趣的同学可以自己DIY 阅读全文
posted @ 2016-07-28 17:52 宗小宗 阅读(566) 评论(0) 推荐(0)
摘要:在系统管理或者数据库管理中,经常要周期性的执行某一个命令或者SQL语句。对于linux系统熟悉的人都知道linux的cron计划任务,能很方便地实现定期运行指定命令的功能。Mysql在5.1以后推出了事件调度器(Event Scheduler),和linux的cron功能一样,能方便地实现mysql 阅读全文
posted @ 2016-07-27 15:30 宗小宗 阅读(199) 评论(0) 推荐(0)
摘要:1、主从服务器分别作以下操作: 1.1、版本一致 1.2、初始化表,并在后台启动mysql 1.3、修改root的密码2、修改主服务器master: #vi /etc/my.cnf [mysqld] log-bin=mysql-bin //[必须]启用二进制日志 server-id=222 //[必 阅读全文
posted @ 2016-07-26 14:29 宗小宗 阅读(166) 评论(0) 推荐(0)
摘要:1.去MySQL官网下载源码包 地址:http://dev.mysql.com/downloads/mysql/ 下载完后需要检查文件的MD5,以确认是否从官网下载的原版本(以防被人篡改过该软件) 使用md5sum命令来检查: [root@localhost src]# md5sum mysql-5 阅读全文
posted @ 2016-07-26 12:46 宗小宗 阅读(549) 评论(0) 推荐(0)
摘要:转自 http://www.cnblogs.com/panfeng412/archive/2011/08/16/2140364.html MySQL有多种存储引擎,MyISAM和InnoDB是其中常用的两种。这里介绍关于这两种引擎的一些基本概念(非深入介绍)。 MyISAM是MySQL的默认存储引擎 阅读全文
posted @ 2016-07-25 19:13 宗小宗 阅读(174) 评论(0) 推荐(0)
摘要:事务是必须满足4个条件(ACID) 原子性(Autmic):事务在执行性,“要么不做,要么全做!”,不允许事务部分得执行。即使因为故障而使事务不能完成,在rollback时也要消除对数据库得影响! 一致性(Consistency):事务得操作应该使使数据库从一个一致状态转变倒另一个一致得状态! 隔离 阅读全文
posted @ 2016-07-25 12:29 宗小宗 阅读(166) 评论(0) 推荐(0)
摘要:转自知乎 作者:哈哈链接:http://www.zhihu.com/question/19719997/answer/81930332来源:知乎著作权归作者所有,转载请联系作者获得授权。 很多人第一反应是各种切分;我给的顺序是:第一优化你的sql和索引;第二加缓存,memcached,redis;第 阅读全文
posted @ 2016-07-23 16:43 宗小宗 阅读(293) 评论(0) 推荐(0)
摘要:今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优 阅读全文
posted @ 2016-07-23 16:39 宗小宗 阅读(204) 评论(0) 推荐(0)
摘要:转自:http://pangge.blog.51cto.com/6013757/1319304 MySQL日志: 主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志; 日志是mysql数据库的重要组成部分。日志文件中记录着mysql数据库运行期间发生的变化;也就是说用来记录mysql数据 阅读全文
posted @ 2016-07-23 15:35 宗小宗 阅读(257) 评论(0) 推荐(0)
摘要:使用mysqld和mysqld_safe启动的区别 直接运行mysqld程序来启动MySQL服务的方法很少见,mysqld_safe脚本【注意:mysqld_safe只是一个脚本】会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe脚本来启动MySQL服务器 阅读全文
posted @ 2016-07-23 14:15 宗小宗 阅读(198) 评论(0) 推荐(0)
摘要:1.数据备份 mysqldump -uroot -p databasename > file.sql 2.数据还原 mysql -u root -p databasename < file.sql 【确保databasename数据库存在】 3.数据迁移 mysqldump -h源主机IP -u源主 阅读全文
posted @ 2016-07-22 20:38 宗小宗 阅读(180) 评论(0) 推荐(0)
摘要:1.登录MySQL语句 mysql -h hostname|hostIP -P port -u username -p dbname -e "SQL语句"; 2.新建普通用户 CREATE USER username@Host IDENTIFIED BY 'password'; INSERT INT 阅读全文
posted @ 2016-07-22 20:01 宗小宗 阅读(169) 评论(0) 推荐(0)
摘要:存储过程和存储函数 MySQL的存储过程(stored procedure)和函数(stored function)统称为stored routines。 1.存储过程和函数的区别 函数只能通过return语句返回单个值或者表对象。而存储过程不允许执行return,但是通过out参数返回多个值。 函 阅读全文
posted @ 2016-07-22 10:49 宗小宗 阅读(355) 评论(0) 推荐(0)
摘要:转载自 http://www.jb51.net/article/40179.htm 一、数学函数ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEILING(x) 返回大于x的最小整数值EXP(x) 返回值e(自然对数的底)的x次方FLOOR(x) 阅读全文
posted @ 2016-07-21 20:36 宗小宗 阅读(181) 评论(0) 推荐(0)
摘要:什么是视图 视图是从一个或多个表中导出来的表,是一种虚拟存在的表。 视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。 这样,用户可以不用看到整个数据库中的数据,而只关心对自己有用的数据。 数据库中只存放了视图的定义,而没有存放视图中的数据,这些数据存放在原来的表中。 使用视图查询数据时,数 阅读全文
posted @ 2016-07-21 12:24 宗小宗 阅读(1066) 评论(0) 推荐(0)
摘要:1.索引的种类(六种) 普通索引,唯一索引,全文索引,单列索引,多列索引,空间索引 2.优缺点及注意事项 优点:有了索引,对于记录数量很多的表,可以提高查询速度。 缺点:索引是占用空间的,索引会影响update insert delete速度。 以下列出几点使用mysql索引的注意事项。 a、索引要 阅读全文
posted @ 2016-07-20 14:47 宗小宗 阅读(225) 评论(0) 推荐(0)
摘要:问题大全 Do you like flowers?(Why?) What flowers do you like?(why?) What is your favorite flower? Are flowers important in your culture? On what occasions 阅读全文
posted @ 2016-07-19 14:28 宗小宗 阅读(641) 评论(0) 推荐(0)
摘要:白名单设置,访问根目录 location / { allow 123.34.22.155; allow 33.56.32.1/100; deny all; } 黑名单设置,访问根目录 location / { deny 123.34.22.155; } 特定目... 阅读全文
posted @ 2016-07-19 10:02 宗小宗 阅读(9862) 评论(0) 推荐(0)
摘要:MySQL外键的作用: 保持数据一致性,完整性,主要目的是控制存储在外键表中的数据。使两张表形成关联,外键只能引用外表中列的值! 我们来建两个表 我们建了 example1表,里面包含stu_id学号,course_id课程号,grade分数 example2表,里面包含id,stu_id学号,co 阅读全文
posted @ 2016-07-18 20:42 宗小宗 阅读(8522) 评论(0) 推荐(0)
摘要:CREATE DATABASE 数据库名;创建数据库 SHOW DATABASES;查看所有数据库 DROP DATABASE 数据库名;删除数据库 SHOW ENGINES;查看MySQL支持的数据库引擎 SHOW VARIABLES;查看所有配置 SHOW VRRIABLES LIKE '%xx 阅读全文
posted @ 2016-07-16 14:46 宗小宗 阅读(274) 评论(0) 推荐(0)
摘要:MySQL数据类型包括 1.整数类型,浮点数类型和定点数类型 2.时间和日期类型 3.字符串类型 4.二进制类型 整数类型 标准的SQL中支持INTEGER,SMALLINT这两类整数类型,MySQL除了这两个还有其他的,见下表(1字节等于8位 2^8=256 2^16=65536...) PS:M 阅读全文
posted @ 2016-07-15 20:41 宗小宗 阅读(329) 评论(0) 推荐(1)
摘要:DBA 数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称 DBMS 数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS 阅读全文
posted @ 2016-07-15 20:10 宗小宗 阅读(432) 评论(0) 推荐(0)
摘要:如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点:1 Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。2 Redis支持数据的备份,即master-slave模式的数据备份。3 Redis支持数据的持久化,可以将内存中的数据 阅读全文
posted @ 2016-07-15 16:59 宗小宗 阅读(310) 评论(0) 推荐(0)
摘要:# Redis配置文件例子. # # 注意:为了能读取到配置文件,Redis服务必须以配置文件的路径作为第一个参数启动 # ./redis-server /path/to/redis.conf # 关于单位,当你需要指定内存的大小时,可以使用如下的单位来指定 # # 1k => 1000 bytes # 1kb => 1024 bytes # 1m => 1000000 bytes # 1mb... 阅读全文
posted @ 2016-07-14 14:25 宗小宗 阅读(1368) 评论(0) 推荐(0)
摘要:关于的队列的介绍,我这里就不多讲了,随便百度一下都很多 用过laravel框架的童鞋都知道其自带队列功能,之前我很费解,PHP只是一个脚本,有超时机制 为什么能不停的去执行队列呢? 带着这个问题,在网上找了一下相关的介绍,这里我没有研究透laravel的队列,而且用这么高大上的实例来给大家讲,我估计 阅读全文
posted @ 2016-07-13 20:51 宗小宗 阅读(10365) 评论(0) 推荐(4)
摘要:个人建议使用PHP自带的序列化函数serialize和unserialize函数 我们可以封装一个自己的Redis类 调用测试 阅读全文
posted @ 2016-07-13 11:36 宗小宗 阅读(43039) 评论(0) 推荐(1)
摘要:安装PHP PRedis PRedis是laravel访问redis的扩展包,只需要下载原码即可,不需要安装PHP扩展(如php-redis.so)。但在这之前需要了解一个composer,因为laravel通过它来安装第三方程序包(管理依赖关系)。 如果出现内存不够这些报错,现在看来是内存分配不够 阅读全文
posted @ 2016-07-12 19:26 宗小宗 阅读(5716) 评论(0) 推荐(1)
摘要:先确保安装了redis扩展 添加Redis配置 'REDIS_HOST'=>'192.168.0.2', 'REDIS_PORT'=>6379, 其他配置根据自己ThinkPHP版本,找到ThinkPHP/Library/Think/Cache/Driver/Redis.class.php查看需要哪 阅读全文
posted @ 2016-07-12 13:58 宗小宗 阅读(18243) 评论(0) 推荐(0)
摘要:首先先介绍下connect和pconnect的区别。connect:脚本结束之后连接就释放了。pconnect:脚本结束之后连接不释放,连接保持在php-fpm进程中。每个php-fpm进程占用一哥连接,当php-fpm进程结束时会释放掉所以使用pconnect代替connect,可以减少频繁建立r 阅读全文
posted @ 2016-07-12 11:28 宗小宗 阅读(2000) 评论(0) 推荐(0)
摘要:首先确保安装了Redis扩展 详细的使用方式 请浏览扩展文档 https://github.com/phpredis/phpredis#connection $obj = new Redis(); $conn = $obj -> connect($host,$port [,$timeout]); i 阅读全文
posted @ 2016-07-12 10:25 宗小宗 阅读(298) 评论(0) 推荐(0)
摘要:安装 开始在 PHP 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动:下载地址为:https://github.com/phpredis/phpredis/releases。 阅读全文
posted @ 2016-07-11 19:58 宗小宗 阅读(271) 评论(0) 推荐(0)
摘要:分区是分割数据到多个Redis实例的处理过程,因此每个实例只保存key的一个子集。 分区的优势 通过利用多台计算机内存的和值,允许我们构造更大的数据库。 通过多核和多台计算机,允许我们扩展计算能力;通过多台计算机和网络适配器,允许我们扩展网络带宽。 分区的不足 redis的一些特性在分区方面表现的不 阅读全文
posted @ 2016-07-11 19:38 宗小宗 阅读(258) 评论(0) 推荐(0)
摘要:Redis 性能测试是通过同时执行多个命令实现的。 语法 redis 性能测试的基本命令如下: 实例 以下实例同时执行 10000 个请求来检测性能: redis 性能测试工具可选参数如下所示: 实例 以下实例我们使用了多个参数来测试 redis 性能: 以上实例中主机为 127.0.0.1,端口号 阅读全文
posted @ 2016-07-11 19:25 宗小宗 阅读(423) 评论(0) 推荐(0)
摘要:通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据。但是由于数据是存储在一台服务器上的,如果这台服务器的硬盘出现故障,也会导致数据丢失。为了避免单点故障,我们希望将数据库复制多个副本以部署在不同的服务器上,即使有一台服务器出现故障其他服务器依然可以继续提供服务。这就 阅读全文
posted @ 2016-07-11 18:45 宗小宗 阅读(2207) 评论(0) 推荐(0)
摘要:1 阅读全文
posted @ 2016-07-11 10:33 宗小宗 阅读(189) 评论(0) 推荐(0)
摘要:SELECT * FROM tablename ORDER BY RAND() LIMIT 10 阅读全文
posted @ 2016-07-11 09:45 宗小宗 阅读(258) 评论(0) 推荐(0)
摘要:Redis 一般在生产环境中,大家都不使用密码,为了确保安全,都是在防火墙上对redis端口做IP白名单的 我是个技术控,我非得了解一下密码这回事【虽然以后不会用到,呵呵】 好了,废话不多说,简单介绍一下 1.修改配置文件 将这行 # requirepass foobared去掉注释,foobare 阅读全文
posted @ 2016-07-08 10:37 宗小宗 阅读(9495) 评论(0) 推荐(2)
摘要:Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。 一个事务从开始到执行会经历以下三 阅读全文
posted @ 2016-07-08 09:41 宗小宗 阅读(251) 评论(0) 推荐(0)
摘要:Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系: 阅读全文
posted @ 2016-07-06 20:52 宗小宗 阅读(288) 评论(0) 推荐(0)
摘要:Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。 在 Redis 里面,每个 HyperLogLog 键只需要花费 12 KB 内存,就可以计算接近 2^64 个不同元素 阅读全文
posted @ 2016-07-06 20:06 宗小宗 阅读(6238) 评论(0) 推荐(0)