摘要: nginx作为静态服务器同时转发swoole配置: nginx 负载均衡:upstream 和server同级 默认情况下会按照顺序把请求负载到各个服务器;(轮循) 也可以设置服务器的权重 权重约高的 被负载到的几率越大。 例如 还有一种就是 通过计算客户端ip的hash,用于负载到某台机器 这样就 阅读全文
posted @ 2018-06-11 10:59 奋进程序猿 阅读(6296) 评论(0) 推荐(0) 编辑
摘要: 一、 搜索1.DSL搜索 全部数据没有任何条件 查询名称包含 xxx 的商品,同时按照价格降序排序 分页查询商品 from 第几条开始 size 获取几条 查询结果中返回的字段 设置 2、query filter 搜索商品名称包含xxx,而且售价大于25元的商品 3、full-text search 阅读全文
posted @ 2018-04-16 14:49 奋进程序猿 阅读(2069) 评论(0) 推荐(0) 编辑
摘要: 检查集群的健康情况 GET /_cat/health?v green:每个索引的primary shard和replica shard都是active状态的yellow:每个索引的primary shard都是active状态的,但是部分replica shard不是active状态,处于不可用的状 阅读全文
posted @ 2018-03-29 11:37 奋进程序猿 阅读(32635) 评论(0) 推荐(1) 编辑
摘要: 在ElasticSearch 的设置文件中如果设置了 network.host: 0.0.0.0 则表示ElasticSearch 服务是公开的任何ip都可以访问ElasticSearch 服务。这样肯定是不安全的。 我们可以通过安装 X-Pack这个然间来做对ElasticSearch 的登陆验证 阅读全文
posted @ 2018-03-19 10:55 奋进程序猿 阅读(6641) 评论(0) 推荐(0) 编辑
摘要: 一、文档的添加 这是最基本的一个文档添加语句{index}表示添加的索引如果没有回自动建立(可以理解为数据库),{type}标示类型如果没有回自动建立(可以理解为表),{id}标示添加文档的id可以理解为数据库中的主键,添加的文档内容就是json 格式的数据,在添加前可以不定义每个字段的类型ES可以 阅读全文
posted @ 2017-11-27 22:58 奋进程序猿 阅读(615) 评论(0) 推荐(0) 编辑
摘要: 前面已经有写过ElasticSearch和iK的安装了这里就不在所了。 安装Kiabna 在下载tar包的时候需要注意下一安装的es版本号,按照官网的说明版本是对应一致的。 https://www.elastic.co/downloads/past-releases 在这里可以搜索到各个版本。 安装 阅读全文
posted @ 2017-10-23 18:32 奋进程序猿 阅读(5552) 评论(0) 推荐(0) 编辑
摘要: 1.使用redis消息列队发布信息 在一些用户创造用户的应用中(如SNS,微博),可能出现1秒有上千万个用户同时发布消息的情况,此时如果使用mysql可能出现‘too many connections’ 错误,当然,把mysql的max_connections 参数设置为更大数,不过这是一个治标不治 阅读全文
posted @ 2017-01-19 16:57 奋进程序猿 阅读(14297) 评论(0) 推荐(1) 编辑
摘要: redis目前对事务的支持比较简单,只能保证一个客户端连接发起事务中的命令可以连续执行,而中间不会插入其他客户端的命令。 1.事务 一般情况下,redis接收到一个客户端发送的命令,立刻执行并返回结果。但是当连接发出multi命令时,此连接便进入事务上下文,redis把此连接发送的命令保存到一个列队 阅读全文
posted @ 2017-01-18 16:47 奋进程序猿 阅读(594) 评论(0) 推荐(0) 编辑
摘要: redis是已知的性能最快的key-value 数据库。 1.key相关命令 exists key :检查指定的key是否存在 1表示存在 0表示不存在 del key1,key2,key3....:删除指定的key,返回删除key的个数,如果key都不存在返回0 type key :返回给的key 阅读全文
posted @ 2017-01-10 16:25 奋进程序猿 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 第一步:在CI框架中libraries目录下建立yar.php 文件 内容: 2.在配置文件中添加yar让CI 自动加载 config目录下autoload.php文件 修改: 3.在api服务端也是CI框架建立Rpc.php控制器 内容: 4.使用yar 在控制器中使用yar 访问api接口 例如 阅读全文
posted @ 2016-12-27 15:21 奋进程序猿 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 参数说明 redis.conf 配置项说明如下: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile 阅读全文
posted @ 2016-12-27 14:53 奋进程序猿 阅读(6217) 评论(0) 推荐(0) 编辑
摘要: git:https://github.com/laruence/yar 先克隆 如果没有 git 需要先安装 然后 克隆 然后 进入yar 目录 开始编译安装 然后把扩展添加到 php配置文件中 写入: 保存退出。 重启php nginx 阅读全文
posted @ 2016-12-26 18:09 奋进程序猿 阅读(3453) 评论(0) 推荐(0) 编辑
摘要: 在centos7 最小安装后首先需要联网 设置dns 写入:nameserver 8.8.8.8nameserver 8.8.4.4 网络网关设置 NETWORKING=yesNETWORKING_IPV6=noHOSTNAME=butbueatifulGATEWAY=192.168.0.1 参数简 阅读全文
posted @ 2016-12-26 17:04 奋进程序猿 阅读(3251) 评论(0) 推荐(0) 编辑
摘要: 、1.先修改yum源 https://webtatic.com 2.安装nginx 3.安装mysql5.7 4.安装php 5.开始简单的配置 添加运行目录 mysql 配置 在[client] 下面添加default-character-set=utf8 在 [mysqld] 下面添加 char 阅读全文
posted @ 2016-12-26 16:56 奋进程序猿 阅读(9822) 评论(0) 推荐(2) 编辑
摘要: 存储过程(procedure): 建立一个存储过程需要知道的基础知识 1.确定输入/输出的参数和类型: IN tname varchar(20) 其中 IN 表示输入参数,tname 是参数名 varchar(20) 是参数类型 RETURNS int(10) 其中 RETURNS 表示输出 返回 阅读全文
posted @ 2016-12-21 16:49 奋进程序猿 阅读(2295) 评论(0) 推荐(0) 编辑
摘要: 分区 分区就是把一个数据表的文件和索引分散存储在不同的物理文件中。 mysql支持的分区类型包括Range、List、Hash、Key,其中Range比较常用: RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区。 LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹 阅读全文
posted @ 2016-12-20 18:02 奋进程序猿 阅读(33025) 评论(1) 推荐(3) 编辑
摘要: 第一范式(1NF)强调的是列的原子性,即列不能够再分成其他几列。 第二范式(2NF) 首先是 2NF,另外包含两部分内容一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。 第三范式(3NF) 首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖 阅读全文
posted @ 2016-12-19 14:50 奋进程序猿 阅读(1621) 评论(0) 推荐(0) 编辑
摘要: 一、存储引擎 mysql中有多种存储引擎,一般常见的有三种: 不支持 通常的观点是MyISAM 注重性能,InnoDB注重事务,所以一边使用MyISAM类的表做非事务型的业务。 这种观点是由于早期InnoDB引擎还不成熟,而事实上并不是这样的。mysql在高并发下的性能瓶颈很明显,主要原因就是锁定机 阅读全文
posted @ 2016-12-12 17:35 奋进程序猿 阅读(5736) 评论(0) 推荐(1) 编辑
摘要: 一、基本语句优化 1.尽量避免在列上进行运算,这样会导致索引失败。例如: select * from table where DATE_FORMAT(`customer_regtime`,'%Y')>='2010' 优化为 select * from table where customer_reg 阅读全文
posted @ 2016-12-09 18:23 奋进程序猿 阅读(1411) 评论(1) 推荐(0) 编辑
摘要: PDO中包含三个预定一类:PDO、PODStatement和PDOException。 1.PDO类 PDO类代表一个PHP和数据库之间的连接,PDO类所拥有的方法如下: PDO:构造器,构建一个新的PDO对象。 beginTransaction:事务开始。 commit:提交事务 errorCod 阅读全文
posted @ 2016-12-09 18:06 奋进程序猿 阅读(498) 评论(0) 推荐(0) 编辑
摘要: PHPRPC 是一个轻型的、安全的、跨网际的、跨语言的、跨平台的、跨环境的、跨域的、支持复杂对象传输的、支持引用参数传递的、支持内容输出重定向的、支持分级错误处理的、支持会话的、面向服务的高性能远程过程调用协议。 PHPRPC支持多种语言包括,ASP,PHP,JAVA,C++,JAVASCRIPT, 阅读全文
posted @ 2016-12-05 18:36 奋进程序猿 阅读(9308) 评论(0) 推荐(0) 编辑
摘要: php建立curl请求的基本步骤: 1.初始化。 2.设置选项,设置URL。 3.执行curl得到结果。 4.释放curl句柄。 例如 运行结果就是打开了使用 curl 获取了 百度的首页html 然后 输出 第二步是最终要的也就是curl_setopt() 这个函数,所有对curl的设置都在这里, 阅读全文
posted @ 2016-12-05 15:08 奋进程序猿 阅读(2169) 评论(0) 推荐(0) 编辑
摘要: socket通常叫做‘套接字’,用于描述IP地址和端口,是一个通信链的句柄。应用程序通过套接字向网络发出请求或者应答忘了请求。socket既不是程序,也不是协议,其只是操作系统提供的通信层的一组抽象API。 通信需要服务端和客户端组成: 服务端: 使用php初始化socket然后绑定一个端口,对端口 阅读全文
posted @ 2016-11-30 16:58 奋进程序猿 阅读(2820) 评论(8) 推荐(0) 编辑
摘要: 在实现的路上遇到了各种坑,再次验证官方文档只能产考不能全信! ElasticSearch安装就不说了上一篇有说! 安装logstash 官方:https://www.elastic.co/guide/en/logstash/current/installing-logstash.html 1.下载公 阅读全文
posted @ 2016-11-24 16:23 奋进程序猿 阅读(17745) 评论(4) 推荐(0) 编辑
摘要: 在安装ElasticSearch 需要先安装java 的 jdk 可以通过 命令来确认是否已经安装了 如果没有安装可以使用 yum 直接安装通过。 先通过命令查看yum源中的 jdk版本 然后通过yum安装 ElasticSearch安装 官网:https://www.elastic.co 1.El 阅读全文
posted @ 2016-11-21 14:17 奋进程序猿 阅读(13457) 评论(3) 推荐(1) 编辑
摘要: 建立服务文件以nginx 为例 在nginx.service 中插入一下内容 [Unit]:服务的说明Description:描述服务After:描述服务类别[Service]服务运行参数的设置Type=forking是后台运行的形式ExecStart为服务的具体运行命令ExecReload为重启命 阅读全文
posted @ 2016-11-03 17:18 奋进程序猿 阅读(2058) 评论(0) 推荐(0) 编辑
摘要: 在php中去除数组中的空值可以使用array_filter() 这个函数 但是这个函数只能对一维数组起作用,一旦需要对多维数组去空就不行了,而且去除的空也包括(int)0,(string)0,使用起来还是有点问题! 自定义函数去除数组中的某个值 默认是空值, 一维数组和多维数组都可以使用! 如有更好 阅读全文
posted @ 2016-11-03 17:14 奋进程序猿 阅读(8734) 评论(0) 推荐(0) 编辑
摘要: 为了架设ss在vultr上买了一个日本的vps 用的是centos7的系统 防火墙是 firewall 捣鼓了两天 在这里总结一下。 如果小伙伴也准备在vultr上买vps 在注册是 可以使用这个优惠连接 http://www.vultr.com/?ref=6972993-3B 会的到 20$ 的优 阅读全文
posted @ 2016-09-05 16:19 奋进程序猿 阅读(37145) 评论(0) 推荐(2) 编辑
摘要: mysql 索引 mysql 中的索引一般分为 B树索引,和哈希索引。就是 通过二叉树算法或者哈希算法来提高速度。 首先来看一下B树索引 如果我们有9个 数据分别是 1,2,3,4,5,6,7,8,9 如果我们要在其中找到7 按照普通的查找一个一个查找需要查找7次才能找到。如果使用B数索引就可以 快 阅读全文
posted @ 2014-07-31 11:13 奋进程序猿 阅读(318) 评论(0) 推荐(0) 编辑
摘要: mysql 触发器 监听数据进行操作: 有点类似于js的事件。在当前表上,设置一个对每行数据的一个监听器,监听相关事件每当事件发生时,会执行一段由SQL完成的一段功能代码。 触发器的元素: 事件和发生时间时执行的代码。 触发器的创建: Create trigger 名字 事件 执行性代码。 触发器的 阅读全文
posted @ 2014-07-30 15:59 奋进程序猿 阅读(294) 评论(0) 推荐(0) 编辑
摘要: mysql 事务 在有些情况下,我们的sql语句是单一执行的,就是每条sql语句的成功失败相互没有关联,但是有些sql语句的执行是相关的,不如一个商城站,用户够买一个商品,那么购物车就应该添加一个条记录,而商品库存就要减少,这两条sql语句必须同时成功才行,如果购物车有新的记录,而商品库存减... 阅读全文
posted @ 2014-07-30 10:56 奋进程序猿 阅读(501) 评论(1) 推荐(0) 编辑
摘要: 在现实中,在有些情况下,可能不能将表的所有信息展示出去 ,但是如果在建立一个新表会有很大的冗余 所以会在原表的基础上,建立一个虚拟表(视图) 建立视图后在mysql 中就有一个表,但是他只是一个虚拟表, 视图建立的虚拟表一般只做查询操作。 如果多个表经常需要多表查询可以把多个表连接起来做成一个... 阅读全文
posted @ 2014-07-30 10:44 奋进程序猿 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 做过PHP开发的程序员应该清楚,PHP中有很多内置的功能,掌握了它们,可以帮助你在做PHP开发时更加得心应手,本文将分享8个开发必备的PHP功能,个个都非常实用,希望各位PHP开发者能够掌握。1、传递任意数量的函数参数我们在.NET或者JAVA编程中,一般函数参数个数都是固定的,但是PHP允许你使用任意个数的参数。下面这个示例向你展示了PHP函数的默认参数:view sourceprint?01.// 两个默认参数的函数02.functionfoo($arg1= ”,$arg2= ”) {03.echo“arg1:$arg1\n”;04.echo“arg2:$arg2\n”;05.}06.fo 阅读全文
posted @ 2014-03-08 22:54 奋进程序猿 阅读(283) 评论(0) 推荐(0) 编辑
摘要: 解决办法:采用js对URL中的汉字进行escape编码。这样点击链接后的效时:引用:http://127.0.0.1/shop/product_list.php?p_sort=PHP%u5F00%u53D1%u8D44%u6E90%u7F51生成了这样的效果,很明显用PHP的urldecode()或者base64_decode()是无法反解的。解决方法,用PHP写一个反解函数:functionjs_unescape($str){$ret='';$len=strlen($str);for($i=0;$i>6)).chr(0x80|($val&0x3f));else$ 阅读全文
posted @ 2014-03-02 21:39 奋进程序猿 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 1.__FINE__返回当前常量所在的行号。2.__FILE__返回文件的完整路径和文件名。3.__FUNCTION__返回函数名称。4.__CLASS__返回类名称。5.__METHOD__返回类的方法名6.PHP_VERSION返回PHP 程序的版本,如 '3.0.8-dev'。 7、PHP_O... 阅读全文
posted @ 2014-02-25 22:19 奋进程序猿 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 1.__construct()实例化对象是被自动调用。当__construct和以类名为函数名的函数同时存在时调用__construct,另一个不背调用。类名为函数名的函数为老版的构造函数。2.__destruct()当删除一个对象或一个对象操作结束是被调用。3.__call()对象调用某个方法。若方法不存在,这调用__call这个方法4.__get()读取一个对象属性,如果对象属性是私有的会调用它5.__set()给一个对象属性赋值时如果属性是私有的会调用它6.__toString()打印一个对象的时候会被调用。7.__clone()克隆对象时被调用,如:$a=newtest();$a1=c 阅读全文
posted @ 2014-02-25 22:15 奋进程序猿 阅读(722) 评论(1) 推荐(0) 编辑
摘要: 最近在能php目录操作,搞了一个目录无限遍历: 使用的函数有: isset()判断某个变量是否定义 chdir() 将当前目录改变为指定的目录。 opendir() 打开目录。 readdir()读取目录。 getcwd()。获取当前目录。 还用到了for if GET传值 大概就这些东东: 下面是 阅读全文
posted @ 2014-02-20 20:39 奋进程序猿 阅读(1085) 评论(1) 推荐(1) 编辑
摘要: 下午有个朋友问json 数据怎么分页 就捣鼓了一个东东出来下面直接代码:无标题文档category1_idcategory1_namecategory1_introcategory1_images下一页上一页大家如果有什么建议可以提出来!!谢谢!! 阅读全文
posted @ 2014-02-19 21:42 奋进程序猿 阅读(3272) 评论(0) 推荐(0) 编辑
摘要: 总的来说就是利用 鼠标悬停onmouseover 和 鼠标移除onmouseout这两个时间来完成的。首先是HTML 结构侧边栏然后是css的样式:#div1{ width:150px; height:200px; background:#999999; position:absolute; left:-150px;}span{ width:20px; height:70px; line-height:23px; background:#09C; position:absolute; right:-20px; top:7... 阅读全文
posted @ 2014-02-18 22:34 奋进程序猿 阅读(3134) 评论(0) 推荐(1) 编辑
摘要: 闲来无事捣鼓了一个原来的js图片滚动首先看看 静态页的结构:向左向右上面两个a标签 是控制图片滚动的走向关键是div ul li 的结构 div里面是ul 人后是li 里面是图片img 标签让li 有浮动 然后给 div 加一个左右外边距自动 在给 div 一个相对定位 ul一个绝对定位大体... 阅读全文
posted @ 2014-02-11 21:38 奋进程序猿 阅读(2756) 评论(2) 推荐(1) 编辑