- 博客(80)
- 资源 (5)
- 收藏
- 关注
原创 Mysql七种锁学习笔记
Mysql七种锁学习笔记InnoDB是一种可以支持事务的存储引擎,并且可以支持行锁,但是InnoDB的行锁是实现在索引上的,而不是锁在物理行记录上,所以如果访问没有命中索引,也无法使用行锁,将要退化成表锁,所以,InnoDB一定要建好索引,否则会导致锁粒度较大,影响数据库性能。自增锁 auto_increment在mysql中很常见,通常会将主键ID设置为自增长,自增的幅度可以通过...
2018-09-05 19:20:52 1046
原创 docker学习笔记
docker生命周期仓库目前Docker官方维护了一个公共仓库Docker Hub,大部分需求可以在Docker Hub中下载镜像来实现。 可以通过命令进行搜索 docker search [OPTIONS] TERM 下载官方镜像到到本地可以通过 docker pull [OPTIONS] NAME[:TAG|@DIGEST] 修改镜像的tag docker tag SOU...
2018-07-18 15:34:14 256
原创 laravel5.6集成auth-jwt
阅读本文之前,先参考下文,配置laravel登录认证 http://laravelacademy.org/post/8900.html安装auth-jwt composer require tymon/jwt-auth:dev-develop --prefer-source配置 config/app.php providers数组中添加 Tymon\JWTAu...
2018-04-12 20:43:54 1253
原创 Golang编程中几个需要注意的点
slice 切片切片的本质是对一个数组切割区间的描述,包含了指向数组的指针,切割区间的长度和容量 长度是切片引用的元素个数,容量是底层数组的元素个数(从切片指针开始) 同时,切片并不是复制整个切片元素,只是创建一个新的切片执行同样的底层数组,通过一个新切片修改元素同样会影响原始切片。func main() { arr := [...]int{0, 1, 2, 3, 4, 5...
2018-02-24 14:16:58 1374
原创 git 常用命令
git clone 链接 git下项目,默认会把整个远程仓库git下来,但只会在本地默认创建一个master分支, git add 添加到修改区 git commit -m 'comment content' 提交到本地仓库git branch 查看本地分支 1.1 git branch -a 查看包括远程分支在内 1.1.1 git checkout -b 本地分支名 origin...
2017-07-16 19:50:39 261
原创 操作系统虚拟内存讲解
写在前面的话 网上关于虚拟内存的讲解实在太多,看的眼花缭乱,还是不太明白虚拟内存到底是什么,为什么要使用虚拟内存,虚拟内存在程序运行期间起到什么作用,使用虚拟内存有什么好处,带着这些疑问,去查阅了《操作系统概念》这本书,这里总结一下自己的看法,希望日后重温这块内容的时候能很快理解。 我认为如果想要理解操作系统虚拟内存,至少要有CPU调度和内存管理的知识储备,下面先来简单了解一下C
2017-01-12 11:08:30 1086
原创 php扩展Memcache和Memcached的区别
关于这两个扩展的区别网上有很多基本相同的说法,大致可以总结为下面几点memcache是原生的,pecl扩展,memcached是基于libmemcached建立的,memcached提供了更多的使用方法,这点可以从php Manual中提供的api可以看出。memcache由于是原生的,可以支持OO和非OO两种编程接口,memcached仅可以支持OO一种。memcached支持binary
2017-01-09 16:59:05 1752
原创 Memcache和Redis区别
memcache和redis主要区别 在工作中经常使用memcache和redis,两者都是nosql数据库,但是在具体应用场景下应该怎么选择呢,本文从以下几个方面分析两者之间的不同网络IO模型 memcache是多线程非阻塞IO复用网络模型,分为Master线程和worker子线程,Master线程负责监听网络连接,接受请求后,传递给worker线程, 在worker线程中进行
2017-01-09 14:22:04 461
原创 openssl生成https证书
openssl生成https证书简介本文主要介绍在Linux环境下通过openssl生成自己的ssl证书,并搭配nginx服务器启用https。我对证书的了解也不是很多,从网上搜罗一些资料,并在CentOS上成功搭建HTTPS服务器,通过本文整理如下:准备工作/etc/pki/CA/index.txt 跟踪已颁发的证书,初始为空。注意是0字节,不然会报出一个错误。 wrong number of
2016-11-18 14:21:37 7709 1
原创 用PHP Demo 学 RabbitMq
先安装rabbitmq的php扩展amqp,至于为何是amqp,稍微搜索一下就会了解rabbitmq是基于amqp协议的。概要我们先大致了解一下rabbitmq,简单的说就是一个生产者-消费者模式的消息队列,支持消息持久化。同时需要了解几个名词,以及这几个名词之间的联系生产者(producer)信道(channel)消息交换机(exchange)消息队列(queue)消费者(consume
2016-08-30 16:01:16 9419 1
原创 nginx学习整理
nginx nginx是一个高性能HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。 能够支持高达5w以上并发连接数的响应,nginx选择了epoll/kqueue作为网络IO模型。 nginx也可以作为负载均衡服务器,nginx使用c语言编写。 nginx是一个主进程和多个工作进程,工作进程是单线程的。每个工作进程可以采用异步非阻塞的方式处理客户端请求。
2016-05-13 15:09:26 474
转载 select、poll、epoll之间的区别总结
一、select、poll、epoll之间的区别总结1、Epollepoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描
2016-05-09 15:36:41 474
转载 Mysql大数据量存储及访问的设计讨论
随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;通过读写分离策略更是最大限度了提高了应用
2016-05-09 10:42:55 1666 1
原创 Laravel 粗略笔记
用了断断续续一周的时间大致了解了Laravel的运行机制,可能是PHP基础知识还是不够牢固,对Laravel源码的还是看不大明白.首先是Laravel文档写的实在简洁了,大部分的内容只能自己去摸索`sever.php` 这个文件应该是入口文件。然后`require_once` 了`public/index.php` 文件,所以从index.php这个文件开始看起。从index.php文件中了解到
2016-04-06 17:21:04 417
原创 Mysql日志详解
错误日志 对mysql的启动、运行、关闭过程进行了记录,DBA遇到问题时应该首先查看该文件,该文件不但记录了出错信息,也记录一些警告信息或者正确信息。 错误日志的存储位置可以通过一个sql语句查看,show variables like ‘log_error’默认情况下错误日志文件名和主机名是一致的。二进制日志 记录了对数据库执行更改的所有操作,但是不包括select和show这类操
2016-01-28 17:08:37 383
转载 MongoDB3.0发布--新特性
插件式存储引擎APIMongoDB向MySQL看齐,开发了插件式存储引擎API,为第三方的存储引擎厂商加入Mongodb提供了方便。已经支持和即将支持的一些存储引擎: - MMAP v1 默认存储引擎 - WiredTiger - RocksDB - TokuFT - FusionIO(裸设备)WiredTiger存储引擎毫无疑问,WiredTiger存储引擎的引进是此版本最大的
2015-12-09 23:19:00 697 1
原创 MongoDB分组统计的一个例子
一个是关于MongoDB中Int64 Int32 Double三个数据类型,PHP中只有int型,那么32位系统中怎么处理的呢。被坑之后发现:使用MongoDB PHP Driver时,如果向mongodb中insert一个数值,默认是如果这个数值一个小于等于(2^31 - 1) 那么在mongodb中存储的时候是int32存储 。但是如果这个数值大于了(2^31 -1)但是没有进行任何处理,直接使用了insert,那么在mongodb中是存储成了Double,如果想要让存储称int64 ,那么php中需
2015-12-04 23:34:15 6020
原创 InnoDB深入理解
InnoDB体系架构 (存储引擎内存池,后台现成)简单的将就是两个部分,一个是一个存储引擎内存池,还有一个就是有很多个后台线程,具体的讲是7个,4个IO线程 1个主要线程,1个锁监控线程,1个错误监控线程,四个IO分别是插入缓冲,日志 读 写。存储引擎内存池具体的说是一个缓冲池,重做日志缓冲池,以及额外的内存池三个部分。一般缓冲池的大小是最大的,重做日志缓冲池和额外内存池比较小。缓冲池
2015-11-21 17:38:59 1258 2
原创 InnoDB知识点整理
1.InnoDB支持事务,外键,行级锁,索引和数据存到一起,不保存表的具体行数,count时需要全表扫描,此时会锁表,删除数据的时候一条一条的删除,即使是删除表中所有的数据,不支持全文索引。2.InnoDB在select和insert性能上不如myisam3.InnoDB除了存自定义的列之外,还存了一个事务id和回滚指针列,如果表中没有主键,并且也没有not null 的unique,那么
2015-11-18 18:09:02 616
原创 Redis中setbit和bitcount的注意细节
setbit 可以理解是一个位数组,至于这个数组有多大,redis中bit映射被限制在512MB之内,所以最大是2^32。也就是在这样一个位数组上存0或者是1 ,可以结合bloomFilter的应用场景理解位数组的用法,将字符串使用一种合适哈希函数映射到不同的bit位上(2^32足够的大,可以满足需求)
2015-10-29 15:57:52 5871
转载 HTTPS的工作原理
1.浏览器将自己支持的一套加密规则发送给网站。2.网站从中选出一组加密算法与HASH算法,并将自己的身份信息以证书的形式发回给浏览器。证书里面包含了网站地址,加密公钥,以及证书的颁发机构等信息。3.获得网站证书之后浏览器要做以下工作: a) 验证证书的合法性(颁发证书的机构是否合法,证书中包含的网站地址是否与正在访问的地址一致等),如果证书受信任,则浏览器栏里面会显示一个小
2015-10-03 21:10:48 443
原创 mysql数据类型中细节学习
mysql中支持的数据类型有整数类型(tinyint,smallint,mediumint ,int,bigint)浮点数类型(float,double)定点数类型(decimal)位类型(bit)比较运算中需要注意的问题一般的比较运算操作,如果一个数和null比较,无论是= <> > < <= >=那么结果都是null如果想要和null比较,需要使用is null 或者isnot null还有一个null-safe的比较运算符<=>
2015-09-12 15:27:52 488
转载 聚簇索引和非聚簇索引
聚簇索引的叶节点就是数据节点,而非聚簇索引的叶节点仍然是索引检点,并保留一个链接指向对应数据块。聚簇索引主键的插入速度要比非聚簇索引主键的插入速度慢很多。相比之下,聚簇索引适合排序,非聚簇索引不适合用在排序的场合。因为聚簇索引本身已经是按照物理顺序放置的,排序很快。非聚簇索引则没有按序存放,需要额外消耗资源来排序。当你需要取出一定范围内的数据时,用聚簇索引也比用非聚簇索引好。
2015-09-01 21:11:59 591
原创 PHP面向对象构造函数说明
本文不再赘述面向对象的知识,本文着重说明PHP的构造函数。 php类的构造函数可以是魔术魔方__construct() 也可以是和类同名的函数
2015-08-30 14:22:03 1170
原创 PHP匹配中文
UTF-8if(preg_match('/^[\x{4e00}-\x{9fa5}]+$/u',$str)){ echo '匹配';}else{ echo '没有匹配';}GB2312,GBKif(preg_match("/^[".chr(0xa1)."-".chr(0xff)."A-Za-z0-9_]+$/",$str)){ echo '匹配';}else{ echo
2015-08-28 21:39:10 730
原创 PHP两个文件操作
1.获取指定目录下所有文件,包括子文件夹下文件,使用到递归2.获取一个文件相对于另一个文件的相对路径curl主要是curl_setopt中curlopt_*的理解和活用
2015-08-28 21:24:04 630
原创 PHP中二维数组排序问题
【sort 对数组排序】一般适用于一维索引数组,不会保持索引【rsort 对数组逆向排序】 和sort用法一致【asort 对数组进行排序并保持索引关系】对值进行排序,一般适用于一维数组,保持索引关系【arsort 对数组进行逆向排序并保持索引关系】和asort用法一致【ksort 对数组按照键名排序】【krsort 对数组按照键名逆向排序】
2015-08-23 20:21:05 977
转载 php中安全模式safe_mode配置教程
打开php的安全模式 php的安全模式是个非常重要的内嵌的安全机制,能够控制一些php中的函数,比如system(), 同时把很多文件操作函数进行了权限控制,也不允许对某些关键文件的文件,比如/etc/passwd, 但是默认的php.ini是没有打开安全模式的,我们把它打开: safe_mode = on 用户组安全 当safe_mode打开时,safe_mode_gi
2015-08-23 12:12:14 782
原创 PHP几个比较常见的面试程序题整理
PHP几个比较常见的面试程序题整理,反转字符串可以使用【strrev】但是最终要的就是多字节字符串得到URL中扩展名,注意URL中不一定有扩展名的计算两个文件的相对路径
2015-08-22 21:03:35 943 1
数据挖掘:概念与技术(中文第三版)
2016-11-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人