自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 Laravel 定时任务导致日志写入失败问题的解决方案

定时任务的用户和运行代码的用户不一致, laravel 默认日志权限只允许当前用户写入, 因此可能会报错

2022-07-12 17:09:43 1153 1

原创 Redis过滤器的实现方式(布隆过滤器 布谷鸟过滤器)

昨天聊到了 Redis 的位图, 那今天就顺带聊聊位图的最常见场景之一: 大数据下去重过滤功能.

2020-03-30 14:05:47 5994 7

原创 Redis去重计数的四种实现方式

博客还是要写的, 知识还是要整理的. 不常用的东西不整理, 到最后就只剩下一个名词.

2020-03-28 21:32:00 3026

转载 Redis开发规范和建议

冷热数据分离,不要将所有数据全部都放到 Redis 中虽然 Redis 支持持久化,但是 Redis 的数据存储全部都是在内存中的,成本昂贵。建议根据业务只将高频热数据存储到 Redis 中【QPS 大于 5000】,对于低频冷数据可以使用 MySQL/ElasticSearch/MongoDB 等基于磁盘的存储方式,不仅节省内存成本,而且数据量小在操作时速度更快、效率更高!不同的业务数据要...

2019-04-22 11:37:45 301

转载 http 5**系列状态码详解

记录一张图

2019-03-25 17:22:28 2501

转载 一分钟掌握数据库垂直拆分

一、缘起 当数据库的数据量非常大时,水平切分和垂直拆分是两种常见的降低数据库大小,提升性能的方法。假设有用户表: user( uid bigint, name varchar(16), pass varchar(16), age int, sex tinyint, flag tinyint, sign varchar(64), intro varchar(256) …); ...

2018-08-27 11:22:20 199

转载 58到家 - MySQL军规升级版

一、基础规范 表存储引擎必须使用InnoDB表字符集默认使用utf8,必要时候使用utf8mb4 解读: (1)通用,无乱码风险,汉字3字节,英文1字节 (2)utf8mb4是utf8的超集,有存储4字节例如表情符号时,使用它禁止使用存储过程,视图,触发器,Event 解读: (1)对数据库性能影响较大,互联网业务,能让站点层和服务层干的事情,不要交到数据库层 (2)调试,排...

2018-08-27 11:21:02 201

原创 mac 下 sourcetree(git) 重启后 私钥失效

链接 git 有两种方式, https 和 ssh , 显然更推荐 ssh 方式. 虽然 git 命令很简单, 但是为了能在提交前更直观的看到自己的改动记录, 所以我使用了 sourcetree . 但是使用中发现了一个很烦的问题, 重启后, 就没有了读取公钥的权限. 需要再次 ssh-add . 每次重启电脑后都操作一次 , 显然是让人无法接受的. 解决办法就是在添加 ssh 私钥的时候...

2018-06-28 12:16:29 2606 1

转载 关于计算机网络的基础知识

关于计算机网络的常识互联网的实现,分成好几层。每一层都有自己的功能,就像建筑物一样,每一层都靠下一层支持,分层设计同样简化了网络系统的维护工作。用户接触到的,只是最上面的一层,根本没有感觉到下面的层。要理解互联网,必须从最下层开始,自下而上理解每一层的功能。如何分层有不同的模型,有的模型分七层,有的分四层。下面将互联网分成五层,比较容易解释。最底下的一层叫做”实体层”(Physical ...

2018-04-08 11:17:12 551

转载 搭建 MySQL 5.7.19 主从复制,以及复制实现细节分析

概念主从复制可以使MySQL数据库主服务器的主数据库,复制到一个或多个MySQL从服务器从数据库,默认情况下,复制异步; 根据配置,可以复制数据库中的所有数据库,选定的数据库或甚至选定的表。MySQL中主从复制的优点横向扩展解决方案在多个从库之间扩展负载以提高性能。在这种环境中,所有写入和更新在主库上进行。但是,读取可能发生在一个或多个从库上。该模型可以提高写入的性能(由于主库...

2018-04-03 13:44:45 342

转载 Mycat 读写分离 数据库分库分表 中间件 安装部署,及简单使用

MyCat是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。MyCat发展到目前的版本,已经不是

2018-01-19 10:58:12 799

转载 Mysql 查询语句优化原则

mysql是web开发人员使用最多的数据库之一,在网站系统整体优化的过程中,针对数据库的优化又是最重要的一个环节,本文结合mysql性能优化一书整理了当中一些常用方法和原则。一般来说,Query 语句的优化思路和原则主要提现在以下几个方面: 1. 优化更需要优化的Query; 2. 定位优化对象的性能瓶颈; 3. 明确的优化目标; 4. 从Explain 入手; 5. 多使用pro

2017-12-11 11:08:03 493

原创 随笔

随便一点小东西,加深记忆对于任意精度的数学运算拓展: BC拓展。--enable-bcmathGMP拓展--with-gmp安全的多字节字符串操作拓展:mbstring系列函数--enable-mbstring 解决典型问题(standard problems)的一组接口与类的集合:SPL拓展 (5.3以上属于内核组件默认开启)数据结构迭代器接口异常文件处理...

2017-11-30 14:22:51 254

转载 RPC是什么?RPC与REST、Socket的区别?php中流行的rpc框架有哪些?

rpc是什么?prc与rest的区别?php中流行的rpc框架有哪些?什么是rpc框架先回答第一个问题:什么是RPC框架? 如果用一句话概括RPC就是:远程调用框架(Remote Procedure Call)那什么是远程调用?通常我们调用一个php中的方法,比如这样一个函数方法: localAdd(10, 20),localAdd方法的具体实现要么是用

2017-11-30 11:22:18 8814

转载 Composer安装Yii2需要github的token

安装yii2遇到这样的提示:Could not fetch https://api.github.com/repos/jquery/sizzle/contents/bower.json?ref=917b312f1d0777d3cccf6ceace2621bb9e8009b2, please create a GitHub OAuth token to go over the API rate

2017-11-29 14:07:01 1385

原创 Mysql重要不常用的函数系列

记一些很重要,但是并不常用的mysql函数。用来加深记忆、方便查询,不定期更新

2017-11-28 16:31:57 312

原创 Mysql子查询使用limit

Mysql子查询使用limit关联查询是日常开发中常见的场景,但两张大表join操作消耗的资源操作通常是很大的。

2017-11-28 16:06:22 2125

原创 nginx在phpstudy下配置https

centos下也可用 生成ssl证书可以参考我的上篇转载的博客:http://blog.csdn.net/cs958903980/article/details/78111771配置:# https本地测试server { listen 80; listen 443; server_name liusw.com; root "D:/WWW/Li

2017-09-27 14:06:22 7121

转载 OpenSSl生成 SSL证书

一般情况下,如果能找到可用的证书,就可以直接使用,只不过会因证书的某些信息不正确或与部署证书的主机不匹配而导致浏览器提示证书无效,但这并不影响使用。需要手工生成证书的情况有: 1、找不到可用的证书 2、需要配置双向SSL,但缺少客户端证书 3、需要对证书作特别的定制首先,无论是在Linux下还是在Windows下的Cygwin中,进行下面的操作前都须确认已安装OpenSSL软件包。创建根证书

2017-09-27 13:23:35 3531

原创 php报错“ERR_CONTENT_DECODING_FAILED”的通用解决办法

php报错“ERR_CONTENT_DECODING_FAILED”的解决办法先看字面意思:内容解码失败1、在哪里给内容加码了? 2、nginx、php、框架 3、 检查nginx配置,gzip开启状态。关闭gzip并重启,无效。排除 4、检查php配置,zlib.output_compression,发现是关闭的。开启配置并重启,页面正常。 5、 检查框架,发现框架内在output_com

2017-08-08 11:40:49 7324

转载 Sphinx之SphinxClient类

Sphinx api

2017-06-22 11:17:30 3376

转载 我读过最好的Epoll模型讲解

首先我们来定义流的概念,一个流可以是文件,socket,pipe等等可以进行I/O操作的内核对象。不管是文件,还是套接字,还是管道,我们都可以把他们看作流。之后我们来讨论I/O的操作,通过read,我们可以从流中读入数据;通过write,我们可以往流写入数据。现在假定一个情形,我们需要从流中读数据,但是流中还没有数据,(典型的例子为,客户端要从socket读如数据,但是服务器还没有把数据传回来),这

2017-04-19 09:54:50 381

原创 MySQL left join操作中 on与where放置条件的区别

优先级两者放置相同条件,之所以可能会导致结果集不同,就是因为优先级。on的优先级是高于where的。首先明确两个概念:LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。在left join...

2017-03-03 14:34:47 40560 3

转载 git 查看某文件的修改历史

git 查看某文件的修改历史

2017-02-09 09:30:30 31016

转载 Git 开发部署流程

# Git 开发部署流程采用业界成熟方案 Git Flow 分支方式进行开发;一个经典的 Git 开发/部署流程包括几个环境:本地开发环境、线上测试环境、线上生产环境,分别对应git的本地工作环境、develop 分支、master 分支无图言屌本地开发环境 : 本地仓库分支工作环境线上测试环境 : 远程 develop 分支线上生产环境 : 远程 master 分支先在本地进行开发,做一次

2016-12-27 16:09:57 10060 5

原创 Git的恢复操作

Git 常用操作 - 恢复篇

2016-12-27 16:04:51 3772 2

转载 CGI,FastCGI,PHP-CGI与PHP-FPM的概念了解

PHP最常用的运行模式就是CGI和CLI。CLI也就是php的命令行运行模式,常用于代码调试和需要长时间运行的功能,这里就不细讲了。唯一需要注意的是两种运行模式加载的配置文件可能不同,或导致两种模式下看到的拓展不一致,小心即可。这里只复制一下从网上找到的关于CGI的资料。CGICGI全称是“公共网关接口”(Common Gateway Interface),HTTP服务器与你的或其

2016-11-24 15:39:02 527

转载 HTTP:常见Content-Type对照表、状态码对照表

Content-Type

2016-11-17 13:57:41 3705

原创 数据库优化

对于大部分项目而言,项目的瓶颈都是数据库。因此对数据库的优化,也是重中之重。 针对数据库优化,一般分为两类:硬件代码软件硬件优化很简单粗暴,多核自然比单核快,两台要比一台好。这个取决于公司的实力,这里就不做讨论。 代码优化是个大命题,包含代码中缓存的使用、连接池等。这个话题另开一篇进行总结。 软件优化指的是针对数据库本身的优化,主要包括表设计(存储引擎、字段)、sql优化与索引、配置文

2016-10-27 15:50:03 275

原创 HTTP请求格式、状态码及常用请求方法

常用的HTTP请求方法,按照RFC2616标准(HTTP1.1)来看,通常有以下8种方法:get、post、put、delete、head、trace、connect、options。

2016-10-17 11:42:24 9783

原创 get、post、put、delete区别与含义

最近读了http的入门书籍《图解HTTP》,虽然仍然是一知半解,但是总得写点东西加深一下印象。语义

2016-10-14 17:11:48 11214

转载 Mysql基础

Mysql设计优化III.1存储引擎的选择Ø  Myisam:数据库并发不大,读多写少,而且都能很好的用到索引,sql语句比较简单的应用,TB数据仓库Ø  Innodb:并发访问大,写操作比较多,有外键、事务等需求的应用,系统内存较大。 III.2命名规则Ø  多数开发语言命名规则:比如MyAdressØ  多数开源思想命名规则:my_addressØ  避免随便命

2016-08-23 18:15:07 251

转载 MySQL主从配置的简单流程

基本流程 主库ip:192.168.1.100 从库IP:192.168.1.200 首先记得关闭防火墙。 修改/etc/selinux/config 文件的配置 selinux=disabled 关闭防火墙服务service iptables stop 安装mysql数据库: 首先先查看是否已经安装mysql:rpm -qa|grep -i mysql如果命令执行之后有结果,就

2016-08-23 17:45:24 344

原创 MySQL左外连接where条件包含多表写法

首先创建两个表CREATE TABLE `student` ( `name` VARCHAR (10) DEFAULT NULL, `class` INT (11) DEFAULT NULL)CREATE TABLE `score` ( `name` varchar(10) DEFAULT NULL, `subject` varchar(10) DEFAULT NULL, `sc

2016-08-11 17:46:58 9477

原创 MySQL的简单的优化方式

当发现程序运行比较慢的时候,首先排除资源问题之后,就将注意力转向MySQL数据库:1、首先确定运行慢的sql语句:show full processlist;2、确认低效的查询:执行一下第一次发现的sql,或者开启慢查询,查看慢查询中的sql 3、为sql生成一个执行计划query Execution plan(QEP)explain select * from t

2016-08-11 13:23:31 415

原创 MySQL批量插入数据

经常有测试sql语句性能的场景,这个时候往往需要做一个几百万乃至上千万的条记录的数据表,那么批量插入数据的sql语句就必不可少了。最省心、速度最快的方法,莫过于用存储过程开启事务,批量插入一批数据之后提交,然后不断重复这个步骤。CREATE PROCEDURE proc_insertDate(in i int)BEGIN DECLARE l_i int DEFAULT 0;

2016-08-11 11:09:44 889

原创 Linux下 php环境安装、配置composer,使用composer安装laravel、zan等框架

php环境安装composer命令#curl -sS https://getcomposer.org/installer | php指定安装路径命令#curl -sS https://getcomposer.org/installer | php -- --install-dir=/tmp如果把composer.phar放在系统的 PATH 目录中,就能在全局访问composer.phar。 在U...

2016-07-28 13:59:13 7458

转载 Composer切换镜像

启用镜像服务的方式有两种:系统全局配置: 即将配置信息添加到 Composer 的全局配置文件 config.json 中。单个项目配置: 将配置信息添加到某个项目的 composer.json 文件中。例1:修改 composer 的全局配置文件(推荐方式)打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:   composer con

2016-07-25 16:14:35 3881

原创 phpStudy集成环境下 安装composer失败

报错提示:The "https://getcomposer.org/versions" file could not be downloaded: failed to open stream: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。The "https://getcomposer.org/download/1.2.0/composer.phar.sig" file...

2016-07-25 14:53:50 19723 3

原创 jquery动态绑定on

之前因为一些原因,一直用的是版本比较低的jquery。这次项目用了一些插件需要的jquery版本较高,因此固定了1.11.3的版本。然后很惊喜的发现live已经在1.9版本干掉了。看了一下发现,为了统一接口,减少jquery代码库,live bind trigger这些统一转移到on上边。这确实是个好事,方便了我们这些入门级别的人去使用!on(events,[selecto

2016-06-21 11:27:33 539

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除