- 博客(60)
- 收藏
- 关注
转载 Spring AOP、AspectJ、CGLIB 都是什么鬼?它们有什么关系?
Spring AOP、AspectJ、CGLIB 都是什么鬼?它们有什么关系?https://mp.weixin.qq.com/s/D97mnSlKCLgghGTloAuGng
2021-09-14 00:12:28 135
转载 什么是布隆过滤器?如何解决高并发缓存穿透问题?
什么是布隆过滤器?如何解决高并发缓存穿透问题?https://mp.weixin.qq.com/s/VZQArj_VYwz11TzXif-uCg
2021-09-14 00:09:45 122
转载 Redis 与 MySQL 双写一致性如何保证
Redis 与 MySQL 双写一致性如何保证?https://mp.weixin.qq.com/s/c0JwYl-9prOLtNeoTTch0w
2021-09-14 00:05:07 124
转载 深度剖析:Redis 分布式锁
深度剖析:Redis 分布式锁到底安全吗?看完这篇文章彻底懂了!https://mp.weixin.qq.com/s/ybiN5Q89wI0CnLURGUz4vw?_share_channel=wechat
2021-09-14 00:01:53 115
转载 PHP魔术方法使用总结
PHP中把以两个下划线__开头的方法称为魔术方法(Magic methods),这些方法在PHP中充当了举足轻重的作用。 魔术方法包括:__construct(),类的构造函数__destruct(),类的析构函数__call(),在对象中调用一个不可访问方法时调用__callStatic(),用静态方式中调用一个不可访问方法时调用__get(),获得一个类的成员变量时调用__set(...
2019-02-24 01:11:58 115
转载 mysql索引最左匹配原则
CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `cid` int(11) DEFAULT NULL, PRIMARY KEY (`id`), KEY `name_cid_INX` (`name`,`cid`),) ENGINE=I...
2019-02-24 00:31:59 456
转载 nginx与php-fpm通信的两种方式
简述在linux中,nginx服务器和php-fpm可以通过tcp socket和unix socket两种方式实现。unix socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。这种方式需要再nginx配置文件中填写php-fpm的pid文件位置,效率要比tcp socket高。tcp socket的优点是可以跨服务器,当nginx和php-fpm不在同一台机器上时...
2019-02-23 11:23:59 473
原创 phpstorm 配置
phpstorm 配置svn checkout 代码 上传到远程服务器1.下载TortoiseSVN1.9 最新版并安装,但在用phpstrom 配置svn的时候提示命令行有问题,查阅资料显示不支持命令行,又下载了一个 Apache-Subversion-1.7.10.zip 解压后放在你要安装的目录下,设置环境变量 并在phpstorm 中配置 在phpstrom 中的terminal
2017-12-20 17:16:10 394
转载 MySQL存储引擎之Myisam和Innodb总结性梳理
Mysql有两种存储引擎:InnoDB与Myisam,下表是两种引擎的简单对比MySQL存储引擎MyISAM与InnoDB如何选择 MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE、CSV、BLACKHOLE。 虽然MySQL
2017-11-27 14:08:43 307
转载 Web负载均衡的几种实现方式
负载均衡(Load Balance)是集群技术(Cluster)的一种应用。负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力。目前最常见的负载均衡应用是Web负载均衡。根据实现的原理不同,常见的web负载均衡技术包括:DNS轮询、IP负载均衡和CDN。其中IP负载均衡可以使用硬件设备或软件方式来实现。什么是web负载均衡服务器集群(Cluster)使得多个服务器节点能够协同工作,根据目
2017-11-27 13:59:25 525
转载 mysql事务和锁InnoDB
背景MySQL/InnoDB的加锁分析,一直是一个比较困难的话题。我在工作过程中,经常会有同事咨询这方面的问题。同时,微博上也经常会收到MySQL锁相关的私信,让我帮助解决一些死锁的问题。本文,准备就MySQL/InnoDB的加锁问题,展开较为深入的分析与讨论,主要是介绍一种思路,运用此思路,拿到任何一条SQL语句,都能完整的分析出这条语句会加什么锁?会有什么样的使用风险?甚至是分析线上的一个死锁场
2017-11-16 18:31:51 247
转载 MySQL事务隔离级别详解
SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。 Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果。本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少。读取未提交的数据,也被称之为脏读(Dirty R
2017-11-10 17:46:10 170
转载 PHP-FPM进程数的设定
服务器出现异常,网站不能正常访问。经排查是php的问题。在重启php-fpm时,恢复正常。1分钟之后又出现故障。查看php日志文件 /usr/local/php/var/log 后提示WARNING: [pool www] server reached pm.max_children setting (5), consider raising it子进程数已经达到设置的最大值。 要设置php进程
2017-11-09 16:17:55 6204
转载 session的垃圾回收机制
session.gc_maxlifetimesession.gc_probability session.gc_divisor session.gc_divisor 与 session.gc_probability 合起来定义了在每个会话初始化时启动 gc(garbage collection 垃圾回收)进程的概率。此概率用 gc_probability/gc_divisor 计算得来。例如 1/
2017-11-08 21:06:07 208
转载 判断链表中是否有环 ----- 有关单链表中环的问题
给定一个单链表,判断其中是否有环,已经是一个比较老同时也是比较经典的问题,在网上搜集了一些资料,然后总结一下大概可以涉及到的问题,以及相应的解法。首先,关于单链表中的环,一般涉及到一下问题:1.给一个单链表,判断其中是否有环的存在;2.如果存在环,找出环的入口点;3.如果存在环,求出环上节点的个数;4.如果存在环,求出链表的长度;5.如果存在环,求出环上距离任意一个节点最远的点(对面节点);6.(扩
2017-11-08 21:00:25 164
转载 mysql分区功能详细介绍,以及实例
一,什么是数据库分区前段时间写过一篇关于mysql分表的的文章,下面来说一下什么是数据库分区,以mysql为例。mysql数据库中的数据是以文件的形势存在磁盘上的,默认放在/mysql/data下面(可以通过my.cnf中的datadir来查看),一张表主要对应着三个文件,一个是frm存放表结构的,一个是myd存放表数据的,一个是myi存表索引的。如果一张表的数据量太大的话,那么myd,myi就会变
2017-11-05 12:31:17 234
转载 mysql 海量数据的存储和访问解决方案
第1章 引言随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互 联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已 经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了宕机造成的损失。通过负载均衡策略,有效的降低了单台机 器的访问
2017-11-03 17:18:50 719
原创 lnmp 之php安装
安装php1.安装libxml2[官方网站] http://xmlsoft.org/ 命令流程:#cd /usr/local/source#wget ftp://xmlsoft.org/libxml2/libxml2-2.9.3.tar.gz#tar -zxvf libxml2-2.9.3.tar.gz#cd libxml2-2.9.3#./configure --prefix=/usr
2017-10-31 16:50:50 1530
原创 lnmp 之nginx安装
Nginx 安装配置一、安装编译工具及库文件yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel二、首先要安装 PCREPCRE 作用是让 Nginx 支持 Rewrite 功能。 1、下载 PCRE 安装包,下载地址: http://downloads.sourceforge.net/project
2017-10-31 16:32:59 293
原创 lnmp 之mysql安装
一.Linux 安装先安装linux 我用的centos7 先在网上下载centos7,vmware 进行安装,安装步骤不在此处叙述。二. MySQL 安装1.安装编译工具及库文件yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-de
2017-10-31 16:13:59 204
转载 JavaScript内存管理机制以及四种常见的内存泄漏解析
概述像C这样的编程语言都会有低级别的内存管理原语,例如malloc()和free()。开发人员使用这些原语能够显式地对内存进行分配和释放。而JavaScript会在对象(对象、字符串等)创建时为它们分配内存,在对象不再使用时,“自动”释放内存。这个过程我们称之为垃圾收集。这种看似很“自动化”的资源释放机制其实是混乱的根源,因为这给JavaScript(以及其他高级语言)开发人员带来了一种错觉,认为自
2017-10-09 20:54:47 307
转载 最大子阵和(百度2017秋招真题)
题目描述给出一个n行m列的二维矩阵A[m,n],其每个元素的取值范围是[-1000,1000],其中1<=n<=100,1<=m<=100。求出p,q,r,s,满足条件1<=p<=q<=n,1<=r<=s<=m 且p<=i<=q,r<=j<=s的(i,j)对应的A[i,j]之和最大。 若(p,q,r,s)有多个解,输出最大子阵和即可。输入 第一行表示测试样例的组数Te(Te<=10)。 对于
2017-09-21 23:36:51 310
原创 php面试题
1.如何判断两个链表是否相交?2.nginx 集群是如何搭建的?3.mysql 如何删除数据表中重复的记录,只保留一条不重复的?4.gc机制5.正则表达式匹配邮件,手机号6.linux 中 在文件夹中如何查找某一个值,比如查找一个ip,如何替换成其他值7.tcp,http协议
2017-09-21 19:48:15 232
转载 MySQL中删除重复数据只保留一条
用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断SELECT*FROM peopleWHERE peopleId IN ( SELECT peopleId FROM
2017-09-21 16:26:49 207
转载 Nginx学习之十二-负载均衡-加权轮询策略剖析
本文介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别(Nginx根据每个工作进程的当前压力调整它们获取监听套接口的几率,那些当前比较空闲的工作进程有更多机会获取到监听套接口,从而客户端的请求到达后也就相应地被它捕获并处理)。如果Nginx是以反向代理的形式配置运行,那么对请求的实际处理需要转发到后端服务器运行,如果后端服务器有多台,如何选择一台合适的
2017-09-16 00:36:19 338
转载 nginx负载均衡的5种策略(转载)
nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。nginx的upstream目前支持的5种方式的分配1、轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 upstream backserver { server 192.
2017-09-15 23:22:36 240
转载 链表各类操作详解
链表概述 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head指向第一个元素:第一个元素又指向第二个元素;……,直到最后一个元素,该元素不再指向其它元素,它
2017-09-15 23:11:07 287
转载 链表基本操作及其过程详细叙述
链表概述:链表是一种常见的数据结构。数组可以存放数据,但是使用数组时要先指定数组中包含元素的个数,即数组长度。但是如果向这个数组中加入的元素个数超过了数组的大小时,便不能将内容完全保存。例如在定义一个班级的人数时,如果小班是30人,普通班是50人,且定义班级人数时使用数组,那么要定义数组的个数为最大,也就是最少为50个元素,否则不满足最大时的情况。这种方式非常浪费空间。而链表,其存储元素的个数不受限
2017-09-15 22:38:12 1741
转载 MySQL索引类型总结和使用技巧以及注意事项
在数据库表中,对字段建立索引可以大大提高查询速度。假如我们创建了一个 mytable表: CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL ); 我们随机向里面插入了10000条记录,其中有一条:5555, admin。 在查找username=”admin”的记录 SELECT * FROM
2017-09-15 22:23:25 201
转载 Redis基础、高级特性与性能调优
本文将从Redis的基本特性入手,通过讲述Redis的数据结构和主要命令对Redis的基本能力进行直观介绍。之后概览Redis提供的高级能力,并在部署、维护、性能调优等多个方面进行更深入的介绍和指导。 本文适合使用Redis的普通开发人员,以及对Redis进行选型、架构设计和性能调优的架构设计人员。目录概述Redis的数据结构和相关常用命令数据持久化内存管理与数据淘汰机制Pipelini
2017-09-08 20:54:46 537
转载 Redis 内存淘汰机制
Redis内存淘汰指的是用户存储的一些键被可以被Redis主动地从实例中删除,从而产生读miss的情况,那么Redis为什么要有这种功能?这就是我们需要探究的设计初衷。Redis最常见的两种应用场景为缓存和持久存储,首先要明确的一个问题是内存淘汰策略更适合于那种场景?是持久存储还是缓存?内存的淘汰机制的初衷是为了更好地使用内存,用一定的缓存miss来换取内存的使用效率。作为Redis用户,我如何使用
2017-09-08 20:34:49 410
转载 Redis内存使用优化与存储
Redis常用数据类型Redis最为常用的数据类型主要有以下五种:String Hash List Set Sorted set 在具体描述这几种数据类型之前,我们先通过一张图了解下Redis内部内存管理中是如何描述这些不同数据类型的: 首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type代表一个val
2017-09-08 20:25:19 207
转载 为什么使用 Redis及其产品定位
传统MySQL+ Memcached架构遇到的问题实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题:MySQL需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。 Memcached与MySQL数据库数据一致性问
2017-09-08 20:08:48 194
转载 Redis之最大内存置换策略
0.前言Redis默认最大内存大小是应用程序可访问的内存大小, 32位windows下是2GB, linux下是3GB. 64位下可以访问的内存为2^64字节, Redis提供了maxmemory字段来限制使用的最大内存. 既然提供了最大内存限制, 那么当我们程序达到最大值时, Redis使用了多种策略进行置换.Redis建议最大内存设置为物理内存的一半。1.Redis置换策略字段maxmemory
2017-09-08 19:56:44 479
转载 REDIS之内存分配MALLOC底层实现(转)
任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉。但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至把malloc当做操作系统所提供的系统调用或C的关键字。实际上,malloc只是C的标准库中提供的一个普通函数,而且实现malloc的基本思想并不复杂,任何一个对C和操作系统有些许了解的程序员都可以很容
2017-09-08 19:49:40 847
转载 Apache优化
Apache是一个跨平台的web服务器,由于其简单高效、稳定安全的特性,被广泛应用于计算机技术的各个领域。现在,Apache凭借其庞大的用户数,已成为用户数排名第一的web服务器。尽 管如此,在实际的生产环境中,我们仍然不可能直接使用默认配置的Apache来充当服务器。毕竟,为了更充分合理地利用Apache服务器,我们都应该根 据自己的实际需要对Apache的默认配置作出一些必要的调整。而针对Apa
2017-09-08 19:11:26 247
转载 浏览器输入url到整个页面显示出来经历的过程
其实普通web应用,实际上就是对http的应用,http是一种基于TCP协议的网络传输协议,工作在应用层,作为web开发者,我主要从http的角度来看待这个问题:首先,对于http肯定是有客户端和服务器的,在这个语境中,客户端和服务器本质上也都是一个软件,实现了http协议相关标准的软件。客户端一般由都是由浏览器充当,也就是说,在浏览器中实现了http客户端的相关功能。而服务器的实现就多种多样啦,我
2017-09-07 12:08:19 517
转载 浏览器输入URL访问服务器过程
域名解析DNS域名是方便人们记忆的,不然那么多网站,人怎么可能记住所有的ip地址。 www.sina.com.cn这个是新浪的域名,在输入该域名之后,进行的就是域名解析了,经过解析之后,变成相应的ip地址。 但是,很多人都会问,在网上查到新浪的IP地址,在自己的电脑上输入为什么就连接不上。原因是大的门户网站可能不止一个ip地址,根据不同的网络他们会有很多的ip来做集群。有的是通过dns来实现负载
2017-09-07 11:19:01 905
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人