- 博客(91)
- 收藏
- 关注
转载 redis缓存雪崩,击穿,穿透,到底是什么?
在今天的互联网里,高并发、大数据量、大流量已经成为了代言词,那么我们的系统也承受着巨大的压力,首当其冲的解决方案就是redis。那么redis使用不当就会产生雪崩、穿透、击穿等问题,这也是考验一个程序员技术能力的时刻。当然面试的时候,这也是高频面试题,几乎大厂都会问到。下面跟着贴心老哥一起来看看这些技术吧。缓存雪崩举例双十一期间,所有用户一打开淘宝就是进入首页,首页的压力非常大,为了提高并发,将网站首页数据都缓存到redis里,所有的redis key失效时间都是3小时。双十一当天大量用户剁
2021-07-05 15:47:20
172
转载 php中常用redis函数
Redis是一个C/S结构类型的服务,C是指客户端,S是指服务端,客户端与服务端可以通过网络进行通信。对于redis而言,服务端上需要安装redis服务,那客户端呢?其实redis为很多语言提供了API,都可以通过语言来进行客户端和服务端的通信,对于php语言而言,我们可以通过安装redis扩展实现客户端与服务端的通信。对于PHP而言,我们可以通过redis扩展除了通信之外又可以进行哪些操作呢?下...
2018-11-07 14:50:06
451
转载 php面试题2018
一 、PHP基础部分 1、PHP语言的一大优势是跨平台,什么是跨平台?PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制,所以叫跨平台 2、WEB开发中数据提交方式有几种?有什么区别?百度使用哪种方式?Get与post两种方式区别:(1)url可见性:get 方式url参...
2018-10-31 17:48:10
722
转载 图解SQL的inner join、left join、right join、full outer join、union、union all的区别
对于SQL的Join,在学习起来可能是比较乱的。我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对于Select出来的结果集是什么样子有点不是很清楚。Coding Horror上有一篇文章,通过文氏图 Venn diagrams 解释了SQL的Join。我觉得清楚易懂,转过来。假设我们有两张表。Table A 是左边的表。Table B 是右边的表。其各...
2018-10-31 17:11:59
125
转载 防止sql注入的小函数 以及一些小验证
function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data;}$name = test_input($_POST["name"]);if (!preg_match("/^[a-zA...
2018-09-18 11:36:03
883
原创 服务器上下载图片压缩
//Yaf框架中public function exportPicAction(){ $idStr = addslashes($_GET['diaryid']); //获取有关联图片的贴子Id //$idStr = '2022721,2022669'; if(!$idStr){return false;} $type = addslashes($_GET['ty...
2018-09-18 11:03:23
403
转载 伪静态规则写法RewriteRule-htaccess详细语法使用
一、正则表达式教程伪静态规则写法RewriteRule-htaccess详细语法使用教程分享简单说下:伪静态实际上是利用PHP把当前地址解析成另外一种方法进行访问网站!要学伪静态规则的写法,你必须得懂一点正则,不会没关系,照着下面的套就行一、正则表达式教程有一个经典的教程: 正则表达式30分钟入门教程这个教程的确很简单,看完基本上写一些简单的正则就没有问
2017-12-28 15:35:21
2307
转载 利用PHPExcel实现Excel文件的写入和读取
利用PHP实现对于Excel的读取,主要借助于PHPExcel插件来完成。 PHPExcel下载地址:PHPExcel下载一、PHPExcel实现写入excel操作步骤 首先需要引入类文件,引入PHPExcel.php文件。 1、新建一个Excel表格(实例化PHPExcel类) 2、创建sheet(内置表) (createSheet()方法、setActiveSheet(
2017-12-28 10:10:34
1601
转载 php 加密解密算法-mcrypt
class enstr { public function enstrhex($str,$key) { /* 开启加密算法/ */ $td = mcrypt_module_open('twofish', '', 'ecb', ''); /* 建立IV,并检测key 的长度*/ $iv = mcrypt_create_iv(mcr
2017-12-26 11:10:22
227
转载 sql中的 IF 条件语句的用法
IF 表达式IF( expr1 , expr2 , expr3 )expr1 的值为 TRUE,则返回值为 expr2 expr2 的值为FALSE,则返回值为 expr3如下:SELECT IF(TRUE,1+1,1+2);-> 2SELECT IF(FALSE,1+1,1+2);-> 3SELECT IF(STRCMP("111","222"),"不相等
2017-10-12 15:22:46
718
转载 Elastic Search快速上手(4):细节补充
模糊搜索可以进行模糊搜索:GET job/type1/_search{ "query":{ "fuzzy":{ "title":{ "value":"linx", "fuzziness": 2, "prefix_length": 1 } } }}在上面的例子中,可模糊查询与linx相似的
2017-10-11 14:27:35
329
转载 Elastic Search快速上手(3):搜索
前言存储好数据之后,便可通过RESTful API进行搜索。详细文档可参考:--简单搜索https://www.elastic.co/guide/cn/elasticsearch/guide/cn/search.html--深入搜索https://www.elastic.co/guide/cn/elasticsearch/guide/cn/search-in-depth.h
2017-10-11 14:20:20
197
转载 Elastic Search快速上手(2):将数据存入ES
前言在上手使用前,需要先了解一些基本的概念。推荐可以到 https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html 阅读《Elastic Search 权威指南》,有非常详细和全面的说明。ES中的一些概念index(索引)相当于mysql中的数据库type(
2017-10-11 14:19:38
1873
转载 Elastic Search快速上手(1):简介及安装配置
前言最近开始尝试学习Elastic Search,因此决定做一些简单的整理,以供后续参考,快速上手使用ES。简介ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于
2017-10-11 14:17:59
269
转载 PHP开发网站之微信登录、绑定
PHP开发网站引入第三方登录之微信登录、绑定案例(www.spaceyun.com)写在前面的话: 如果在做此项功能之前有去了解OAuth2.0协议,那么接下来一切都很容易理解,如果没有了解OAuth2.0协议, 也不影响完成此项功能,不过应该是很难领会其原理。准备工作: 微信登录时在微信开放平台(open.weixin.qq.com)上面, 注册登录之后
2017-08-30 16:03:37
2627
1
转载 mysql分库分表实战及php代码操作完整实例
当单表达到几千万时,查询一次要很久,如果有联合查询,有可能会死在那分库分表主要就是解决这个问题,减小数据库的负担,缩短查询时间分库:1)按功能分用户类库、商品类库、订单类库、日志类、统计类库...1)按地区分每个城市或省市一个同样的库,加上后缀或前缀如:db_click_bj、db_click_sh...分表:1、横向分表 解决表记录太大问题1)按某个字
2017-08-11 15:23:00
445
转载 Linux定时任务_php定时计划任务的实现方法详解
PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害。PHP本身是没有定时功能的,PHP也不能多线程。PHP的定时任务功能必须通过和其他工具结合才能实现,例如WordPress内置了wp-cron的功能,很厉害。本文,我们就来深入的解析几种常见的php定时任务的思路。Linux服
2017-08-03 13:42:04
565
转载 git总结
一:Git是什么? git是目前世界上最先进的分布式版本控制系统。二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网还可以,带宽够大,速度够快
2017-07-28 17:27:09
226
转载 linux命令的理解
表示当前目录;.. 表示上层目录;~表示用户主目录;rm , 是remove的缩写 ,删除文件,不能删除目录。rm -r 可以删除一个目录及其下面的内容,有提示信息。rm -rf 强力删除一个目录及其下面的内容,没有提示。mv, 是move的缩写,移动文件到另一个地方,mv [OPTION]... [-T] SOURCE DEST将目录A重命名
2017-07-26 14:12:08
430
转载 app接口设计之token的php实现
app接口设计之token的php实现1、首先说一句什么是接口:接口简单来说就是服务器端用来返回给其他程序或者客户端数据的桥梁2、接口的作用:根据固定参数返回固定数据,比如客户端传a=1,那么服务器端返回a的姓名,客户端传a=2,服务器端返回a的性别,而不会返回其他数据。例如:app与服务器端的接口、java与php之间不同程序的接口,这些接口一般通过json格式传输数据所以为了保
2017-03-10 16:09:21
309
转载 服务器微信支付接口笔记-(与app端对接)
最近几天在做app的微信支付和支付宝支付,主要负责服务器接口。记录一下服务器这边的工作。参考微信的官方文档链接:(有用的几个)1 - 首先,如果想让app可以使用微信支付,必须先申请一个开放平台的账号微信开放平台地址:微信开放平台地址 (点击打开)同时,在开放平台页面顶部,有一个 资源中心,里面有各种文档(登录,授权等api在这个文档里面,通
2017-03-10 11:33:27
288
转载 PHP开发APP微信支付接口
【准备工作】在准备着手开发之前呢,我建议大家先去查阅一下微信的 APP支付开发者文档 ,对微信支付开发的流程有一个系统的了解。我这里为大家准备了一张交互时序图,以便大家随时查看:APP支付时序图商户系统和微信支付系统主要交互说明:用户在商户APP中选择商品,提交订单,选择微信支付。商户后台收到用户支付单,调用微信支付统一下单接口。参见 【统一下单API】统一
2017-03-10 09:35:12
1192
转载 php微信支付
下面以PHP语言为例,对微信支付的开发流程进行一下说明。1.获取订单信息2.根据订单信息和支付相关的账号生成sign,并且生成支付参数3.将支付参数信息POST到微信服务器,获取返回信息4.根据返回信息生成相应的支付代码(微信内部)或是支付二维码(非微信内),完成支付。下面分步骤的讲一下:1.微信支付中相关的必须的订单参数有三个,分别是:body(商品名或订单描述),out
2017-03-09 18:18:28
251
转载 app接口设计之signature签名的php实现
app接口设计之signature签名的php实现1、首先说一句什么是接口:接口简单来说就是服务器端用来返回给其他程序或者客户端数据的桥梁2、接口的作用:根据固定参数返回固定数据,比如客户端传a=1,那么服务器端返回a的姓名,客户端传a=2,服务器端返回a的性别,而不会返回其他数据。例如:app与服务器端的接口、java与php之间不同程序的接口,这些接口一般通过json格式传输数据
2017-02-28 14:06:33
1910
转载 ajax上传图片所用jquery.form.js插件详细使用方法
ajax上传图片所用jquery.form.js插件详细使用方法一、html中有submit提交按钮时1、添加一个表单页面。 只是一个正常的形式,不需要特殊的标记:form id="myForm" action="comment.php" method="post"> Name: input type="text" name="name" /> Comment: texta
2017-02-28 14:04:23
251
转载 开发一个程序基本思路
开发一个程序基本思路整体流程: 1、确定需求和构思整个网站系统(初步设想需要实现什么) 2、根据需求和需求文档制作UI图 3、根据UI图制作前端静态页面 4、根据前端静态页面(主要)和需求文档(次要)架构整个 系统(设计网站大的框架和制表) 5、后台程序员根据框架、静态页、数据表、需求文档等实现功能后台程序员制作网站流程: 1、拿到分配的任务以后,先根据任务模块
2017-02-28 14:01:47
552
转载 app接口设计之token的php实现
app接口设计之token的php实现1、首先说一句什么是接口:接口简单来说就是服务器端用来返回给其他程序或者客户端数据的桥梁2、接口的作用:根据固定参数返回固定数据,比如客户端传a=1,那么服务器端返回a的姓名,客户端传a=2,服务器端返回a的性别,而不会返回其他数据。例如:app与服务器端的接口、java与php之间不同程序的接口,这些接口一般通过json格式传输数据所以为了保
2017-02-28 13:50:50
481
转载 使用nginx与nginx-rtmp-module搭建流媒体服务器
让我们一起开始奇妙的流媒体之旅吧!1、下载nginx-rtmp-module:nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module使用命令:[php] view plain copygit clone https
2017-02-21 11:45:14
431
转载 Linux查看CPU和内存使用情况
在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。top命令是Linux下常用的性能
2017-02-14 20:49:41
155
转载 php header方法 修改传输头
修改文本编码[php] view plain copy header("Content-Type: text/html;charset=utf-8"); 重定向[php] view plain copy // header("Location:a.php
2017-02-14 20:38:46
1242
转载 PHP运行模式
1、运行模式关于PHP目前比较常见的五大运行模式:1)CGI(通用网关接口 / Common Gateway Interface)2)FastCGI(常驻型CGI / Long-Live CGI)3)CLI(命令行运行 / Command Line Interface)4)Web模块模式(Apache等Web服务器运行的模式)5)ISAPI(Inte
2017-01-14 09:49:31
175
转载 Redis的持久化机制
Redis由于支持非常丰富的内存数据结构类型,如何把这些复杂的内存组织方式持久化到磁盘上是一个难题,所以Redis的持久化方式与传统数据库的方式有比较多的差别,Redis一共支持四种持久化方式,分别是:定时快照方式(snapshot)基于语句追加文件的方式(aof)虚拟内存(vm)Diskstore方式在设计思路上,前两种是基于全部数据都在内存中,即小数据量
2017-01-13 09:17:49
155
转载 AngularJS轮播图
html ng-app="myApp" lang="en">head> meta charset="UTF-8"> title>AngularJS carouseltitle> link href="http://libs.baidu.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">head>bo
2017-01-11 21:27:18
483
转载 ucenter 整合同步登录的内部实现原理
1、用户登录discuz,通过logging.php文件中的函数uc_user_login对post过来的数据进行验证,也就是对username和password进行验证。2、如果验证成功,将调用位于uc_client下client.php文件中的函数uc_user_synlogin,在这个函数中调用uc_api_post('user', 'synlogin',array('uid'=>$ui
2017-01-09 15:29:08
285
转载 Sphinx 的介绍和原理探索
What/Sphinx是什么定义:Sphinx是一个全文检索引擎。特性:索引和性能优异易于集成SQL和XML数据源,并可使用SphinxAPI、SphinxQL或者SphinxSE搜索接口易于通过分布式搜索进行扩展高速的索引建立(在当代CPU上,峰值性能可达到10 ~ 15MB/秒)高性能的搜索 (在1.2G文本,100万条文档上进行搜索,支持高达每秒150~250次查
2017-01-09 11:32:13
264
转载 mysql垂直分区和水平分区
数据库扩展大概分为以下几个步骤: 1、读写分离:当数据库访问量还不是很大的时候,我们可以适当增加服务器,数据库主从复制的方式将读写分离; 2、垂直分区:当写入操作一旦增加的时候,那么主从数据库将花更多的时间的放在数据同步上,这个时候服务器也是不堪重负的;那么就有了数据的垂直分区,数据的垂直分区思路是将写入操作比较频繁的数据表,如用户表_user,或者订单表_orders,那么我们就可以
2016-12-29 19:48:58
560
转载 mysql分区表的原理和优缺点
1.分区表的原理分区表是由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们也可以直接访问各个分区,存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引只是在各个底层表上各自加上一个相同的索引,从存储引擎的角度来看,底层表和一个普通表没有任何不同,存储引擎也无须知道这是一个普通表还是一个分区表的一部分。 在分区表上的操
2016-12-29 19:21:28
446
转载 mysql的索引
什么是索引索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。表里面的记录数量越多,这个操作的代价就越高。如果作为搜索条件的列上已经创建了索引,MySQL无需扫描任何记录即可迅速得到目标记录所在的位置。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快
2016-12-29 15:25:37
175
转载 mysql分区功能详细介绍,以及实例
一,什么是数据库分区前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,m
2016-12-29 14:55:36
210
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人