7 zoro_1992
尚未进行身份认证
正青春
Mysql七种锁学习笔记InnoDB是一种可以支持事务的存储引擎,并且可以支持行锁,但是InnoDB的行锁是实现在索引上的,而不是锁在物理行记录上,所以如果访问没有命中索引,也无法使用行锁,将要退化成表锁,所以,InnoDB一定要建好索引,否则会导致锁粒度较大,影响数据库性能。自增锁 auto_increment在mysql中很常见,通常会将主键ID设置为自增长,自增的幅度可以通过...
docker生命周期仓库目前Docker官方维护了一个公共仓库Docker Hub,大部分需求可以在Docker Hub中下载镜像来实现。 可以通过命令进行搜索 docker search [OPTIONS] TERM 下载官方镜像到到本地可以通过 docker pull [OPTIONS] NAME[:TAG|@DIGEST] 修改镜像的tag docker tag SOU...
使用zephir调用php扩展库以及内置函数库
阅读本文之前,先参考下文,配置laravel登录认证 http://laravelacademy.org/post/8900.html安装auth-jwt composer require tymon/jwt-auth:dev-develop --prefer-source配置 config/app.php providers数组中添加 Tymon\JWTAu...
slice 切片切片的本质是对一个数组切割区间的描述,包含了指向数组的指针,切割区间的长度和容量 长度是切片引用的元素个数,容量是底层数组的元素个数(从切片指针开始) 同时,切片并不是复制整个切片元素,只是创建一个新的切片执行同样的底层数组,通过一个新切片修改元素同样会影响原始切片。func main() { arr := [...]int{0, 1, 2, 3, 4, 5...
Go语言创建一个HTTP服务器时,三种创建路由的方法
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...
给定一个日期,计算该日期后的几天,如果遇到节假日,顺延。
写在前面的话 网上关于虚拟内存的讲解实在太多,看的眼花缭乱,还是不太明白虚拟内存到底是什么,为什么要使用虚拟内存,虚拟内存在程序运行期间起到什么作用,使用虚拟内存有什么好处,带着这些疑问,去查阅了《操作系统概念》这本书,这里总结一下自己的看法,希望日后重温这块内容的时候能很快理解。 我认为如果想要理解操作系统虚拟内存,至少要有CPU调度和内存管理的知识储备,下面先来简单了解一下C
关于这两个扩展的区别网上有很多基本相同的说法,大致可以总结为下面几点memcache是原生的,pecl扩展,memcached是基于libmemcached建立的,memcached提供了更多的使用方法,这点可以从php Manual中提供的api可以看出。memcache由于是原生的,可以支持OO和非OO两种编程接口,memcached仅可以支持OO一种。memcached支持binary
memcache和redis主要区别 在工作中经常使用memcache和redis,两者都是nosql数据库,但是在具体应用场景下应该怎么选择呢,本文从以下几个方面分析两者之间的不同网络IO模型 memcache是多线程非阻塞IO复用网络模型,分为Master线程和worker子线程,Master线程负责监听网络连接,接受请求后,传递给worker线程, 在worker线程中进行
openssl生成https证书简介本文主要介绍在Linux环境下通过openssl生成自己的ssl证书,并搭配nginx服务器启用https。我对证书的了解也不是很多,从网上搜罗一些资料,并在CentOS上成功搭建HTTPS服务器,通过本文整理如下:准备工作/etc/pki/CA/index.txt 跟踪已颁发的证书,初始为空。注意是0字节,不然会报出一个错误。 wrong number of
先安装rabbitmq的php扩展amqp,至于为何是amqp,稍微搜索一下就会了解rabbitmq是基于amqp协议的。概要我们先大致了解一下rabbitmq,简单的说就是一个生产者-消费者模式的消息队列,支持消息持久化。同时需要了解几个名词,以及这几个名词之间的联系生产者(producer)信道(channel)消息交换机(exchange)消息队列(queue)消费者(consume
nginx nginx是一个高性能HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。 能够支持高达5w以上并发连接数的响应,nginx选择了epoll/kqueue作为网络IO模型。 nginx也可以作为负载均衡服务器,nginx使用c语言编写。 nginx是一个主进程和多个工作进程,工作进程是单线程的。每个工作进程可以采用异步非阻塞的方式处理客户端请求。
一、select、poll、epoll之间的区别总结1、Epollepoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描
随着互联网应用的广泛普及,海量数据的存储和访问成为了系统设计的瓶颈问题。对于一个大型的互联网应用,每天几十亿的PV无疑对数据库造成了相当高的负载。对于系统的稳定性和扩展性造成了极大的问题。通过数据切分来提高网站性能,横向扩展数据层已经成为架构研发人员首选的方式。水平切分数据库,可以降低单台机器的负载,同时最大限度的降低了了宕机造成的损失。通过负载均衡策略,有效的降低了单台机器的访问负载,降低了宕机的可能性;通过集群方案,解决了数据库宕机带来的单点数据库不能访问的问题;通过读写分离策略更是最大限度了提高了应用
用了断断续续一周的时间大致了解了Laravel的运行机制,可能是PHP基础知识还是不够牢固,对Laravel源码的还是看不大明白.首先是Laravel文档写的实在简洁了,大部分的内容只能自己去摸索`sever.php` 这个文件应该是入口文件。然后`require_once` 了`public/index.php` 文件,所以从index.php这个文件开始看起。从index.php文件中了解到
Node.js入门了解
错误日志 对mysql的启动、运行、关闭过程进行了记录,DBA遇到问题时应该首先查看该文件,该文件不但记录了出错信息,也记录一些警告信息或者正确信息。 错误日志的存储位置可以通过一个sql语句查看,show variables like ‘log_error’默认情况下错误日志文件名和主机名是一致的。二进制日志 记录了对数据库执行更改的所有操作,但是不包括select和show这类操
一个小Demo 讲明白指针的加减法