- 博客(22)
- 收藏
- 关注
原创 lamp安装
用yum快速搭建LAMP平台实验环境:[root@nmserver-7 html]# cat /etc/redhat-release CentOS release 7.3.1611 (AltArch) [root@nmserver-7 html]# uname -aLinux nmserver-7.test.com 3.10.0-514.el7.centos.plus.i6...
2019-08-29 10:54:09
266
原创 浅谈搜索引擎和传统数据库(ES,solr)
作为小白一枚,一直不理解既然已经有数据库存储的数据了,为什么还要有搜索引擎这些东西,而且这些搜索引擎和数据库之间是怎样的联系或者协同工作的。最近研究了很多,慢慢的好像理解了其中意思了,所以在此分享,也有可能是我理解错了,欢迎各位大神指正。 ES(ElasticSearch)是一款分布式全文检索框架,底层基于基于Lucene实现。 Elasti...
2019-08-06 18:35:57
5248
原创 input框清除缓存
若是将用户信息保存在cookie中,当我们记住密码时,密码框会自动填入被保存的用户信息,若密码框不想被自动填入数据的话,有两种方法。方法一:在<input type="password" id="confirmpassword" placeholder="确认密码"autocomplete="off">中先用autocomplete="off",该参数是取消密码框的自动填...
2019-08-06 14:50:10
775
转载 PHP-linux多进程
子进程的创建一般的子进程的写法是:? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php $pid = pcntl_fork(); if($pid == -1){ ...
2018-09-03 15:33:23
250
转载 PHP-windows多线程
windows下多线程,利用内部多线程,访问多个链接,每个链接可以作为一个任务。利用curl_multi_exec()内置方法。 curl_multi实现并发普通请求curl_normal.php<?php $srart_time = microtime(TRUE);$chArr=[];//创建多个cURL资源for($i=0; $i<10; $i++...
2018-09-03 12:13:27
1061
转载 简单socket理解。
今天再看一点邮件发送的功能,所以了解一下socket变成,看到了一篇不错的文章,转发过来做个笔记吧。原文链接:http://www.cnblogs.com/thinksasa/archive/2013/02/26/2934206.html文章中的例子已亲测,没有问题。。。对TCP/IP、UDP、Socket编程这些词你不会很陌生吧?随着网络技术的发展,这些词充斥着我们的耳朵。那么我想问:1. ...
2018-07-11 18:05:59
1163
转载 PHP单例
作者:独身待苍颜链接:https://www.zhihu.com/question/35285158/answer/141024074来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。/*单例设计模式 (单态) 定义: 一个类 只能允许有 一个对象存在. 1.不让进: 使类不能被实例化 2.留后门: 设置静态方法 3.给对象: 在静态方...
2018-05-31 09:52:12
132
转载 linux 安装LAMP的程序路径
pache:如果采用RPM包安装,安装路径应在 /etc/httpd目录下apache配置文件:/etc/httpd/conf/httpd.confApache模块路径:/usr/sbin/apachectlweb目录:/var/www/html如果采用源代码安装,一般默认安装在/usr/local/apache2目录下 php:如果采用RPM包安装,安装路径应在 /etc/目录下...
2018-04-09 11:23:27
316
原创 PHP命名空间和自动加载
PHP 命名空间与自动加载机制介绍include 和 require 是PHP中引入文件的两个基本方法。在小规模开发中直接使用 include 和 require 没哟什么不妥,但在大型项目中会造成大量的 include 和 require 堆积。这样的代码既不优雅,执行效率也很低,而且维护起来也相当困难。为了解决这个问题,部分框架会给出一个引入文件的配置清单,在对象初始化的时候把需要的文件引入。...
2018-03-22 11:43:43
324
原创 高并发解决方案举例
在秒杀、抢火车票等地方,我们通常用遇到这样高并发的问题,下面提供了四种解决方案:1、使用文件锁 [php] view plain copy $fp = fopen("order.lock", "r"); if(flock($fp,LOCK_EX)){ //..处理订单的代码 flock($fp,LOCK_UN); } fclose($fp);2、使用消息队列 我们常用到Memcacheq、Radi...
2018-03-20 09:26:26
399
原创 PHP垃圾回收机制和内存管理机制
PHP内存管理机制与垃圾回收机制PHP内存管理机制1 var_dump(memory_get_usage()); //获取内存2 $a = "laruence"; //定义一个变量3 var_dump(memory_get_usage()); //定义变量之后获取内存4 unset($a); //删除该变量5 ...
2018-03-20 09:11:53
220
原创 使用消息队列理由
使用消息队列的十个理由:1.解耦在项目启动之初来预测将来项目会碰到什么需求,是极其困难的。消息队列在处理过程中间插入了一个隐含的、基于数据的接口层,两边的处理过程都要实现这一接口。这允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。2.冗余有时在处理数据的时候处理过程会失败。除非数据被持久化,否则将永远丢失。消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据...
2018-03-15 11:38:55
156
原创 PHP正则验证手机号
PHP手机号码正则表达式 php用正则表达式判断手机号码的写法:从文章中匹配出所有的手机号就可以preg_match_all(),如果要检查用户输入的手机号是否正确可这样来检查:preg_match().用正则匹配手机号码的时候, 我们先分析一下手机号码的规律:1. 手机号通常是11位的2. 经常是1开头3. 第二个数字通常是34578这几个数字, 2014.5.5日170号段的手机号开卖所以这里...
2018-03-14 20:03:48
4261
原创 mysql事务控制
事务控制在MYSQL命令行的默认设置下,事务都是自动提交的,即执行SQL语句后就会马上执行COMMIT操作。因此要显示的开启一个事务必须使用命令BEGIN和START TRANSACTION,或者执行命令SET AUTOCOMMIT = 0,以禁用当前会话的自动提交。事务控制语句如下:START TRANSACTION | BEGIN:显示的开启一个事务。在存储过程中,MYSQL数据库的分析器会自...
2018-03-14 19:22:42
330
原创 PHP常用排序
$arr=array(1,43,54,62,21,66,32,78,36,76,39);1.冒泡排序function bubbleSort ($arr){ $len = count($arr); //该层循环控制 需要冒泡的轮数 for ($i=1; $i<$len; $i++) { //该层循环用来控制每轮 冒出一个数 需要比较的次数 for ($k=...
2018-03-14 15:43:25
181
原创 redis适用场景
Redis最适合所有数据in-momory的场景,虽然Redis也提供持久化功能,但实际更多的是一个disk-backed的功能,跟传统意义上的持久化有比较大的差别,似乎Redis更像一个加强版的Memcached,那么何时使用Memcached,何时使用Redis呢?如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: 1 、Redis不仅仅支持简单的k/v类型的数据,...
2018-03-14 15:25:44
321
原创 redis并发问题
PHP 多线程 1.redis 加key 赋临时值 线程走完delete掉 A线程执行中 B线程先查临时key 有没有值 (需设置锁过期时间)2.redis 事务 加锁Redis为单进程单线程模式,采用队列模式将并发访问变为串行访问。Redis本身没有锁的概念,Redis对于多个客户端连接并不存在竞争,但是在Jedis客户端对Redis进行并发访问时会发生连接超时、数据转换错误、阻塞、客户端...
2018-03-14 15:22:22
383
原创 redis和memcache
1.使用redis有哪些好处? (1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1) (2) 支持丰富数据类型,支持string,list,set,sorted set,hash (3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行 (4) 丰富的特性:可用于缓...
2018-03-14 15:18:52
182
原创 redis存磁盘
1、快照(snapshots) 缺省情况情况下,Redis把数据快照存放在磁盘上的二进制文件中,文件名为dump.rdb。你可以配置Redis的持久化策略,例如数据集中每N秒钟有超过M次更新,就将数据写入磁盘;或者你可以手工调用命令SAVE或BGSAVE。 工作原理 . Redis forks. . 子进程开始将数据写到临时RDB文件中。 . 当子进程完成写RDB文件,用新文件替换老文件...
2018-03-14 15:17:31
2131
原创 优化mysql数据库
1、选取最适用的字段属性,int,bigint,varchar,char等;2、使用连接(JOIN)来代替子查询(Sub-Queries);3、使用联合(UNION)来代替手动创建的临时表;4、事务(ICPD)5、锁定表事务是维护数据库完整性的一个非常好的方法,但却因为它的独占性,有时会影响数据库的性能,尤其是在很大的应用系统中。所以有些情况下可以通过锁定表的方法来获得更好的性能。包含有WRITE...
2018-03-14 15:11:36
153
原创 mysql索引建立
1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:A、正确选择复合索引中的主列字段,一般是选择...
2018-03-14 14:26:50
201
原创 mysql事务特性
事务需要满足ACID四个特性。1. A(atomicity) 原子性。一个事务的执行被视为一个不可分割的最小单元。事务里面的操作,要么全部成功执行,要么全部失败回滚,不可以只执行其中的一部分。2. C(consistency) 一致性。一个事务的执行不应该破坏数据库的完整性约束。如果上述例子中第2个操作执行后系统崩溃,保证A和B的金钱总计是不会变的。3. I(isolation) 隔离性。通常来说...
2018-03-14 09:34:37
182
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人