使用Guava RateLimiter限流以及源码解析

2018-08-28
阅读 9 分钟
8k
限流 限流的目的是通过对并发访问/请求进行限速,或者对一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务、排队或等待、降级等处理

mysql强制索引说明

2017-10-23
阅读 1 分钟
5.3k
方案1:执行OPTIMIZE TABLE修复碎片或者执行ALTER TABLE foo ENGINE=InnoDB,以上两种操作都会锁表,对于数据量大,且业务高峰期执行需要慎重

Mac安装memcached扩展支持sasl

2017-04-08
阅读 1 分钟
4.3k
Memcached在服务以及扩展中,默认都是不支持用户名和密码,但是如果需要可以通过打开sasl来提供用户名和密码服务。所以在memcached的扩展与服务器安装时都需要启用sasl,过程如下:

Linux命令之:free命令

2017-04-04
阅读 1 分钟
2.5k
free命令可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内存缓冲区 语法 {代码...} 选项 {代码...} 实例 {代码...} 第一部分Mem行: total:内存总数 used:已使用内存总数 free:空闲的内存书 shared:当前已经不用的 buffers Buffer:缓存的内存 cached Page:缓存的内存数 第二部分(-/+ buffe...

MySql 主从复制及配置实现

2017-04-04
阅读 9 分钟
34.8k
MySQL主从复制是其最重要的功能之一。主从复制是指一台服务器充当主数据库服务器,另一台或多台服务器充当从数据库服务器,主服务器中的数据自动复制到从服务器之中。对于多级复制,数据库服务器即可充当主机,也可充当从机。MySQL主从复制的基础是主服务器对数据库修改记录二进制日志,从服务器通过主服务器的二进制日...

# HLS 协议详解

2017-03-23
阅读 9 分钟
17.7k
HLS 全称是 HTTP Live Streaming, 是一个由 Apple 公司实现的基于 HTTP 的媒体流传输协议. 他跟 DASH 协议的原理非常类似. 通过将整条流切割成一个小的可以通过 HTTP 下载的媒体文件, 然后提供一个配套的媒体列表文件, 提供给客户端, 让客户端顺序地拉取这些媒体文件播放, 来实现看上去是在播放一条流的效果.

【转】浅谈PHP5中垃圾回收算法(Garbage Collection)的演化

2017-02-25
阅读 5 分钟
2.2k
PHP是一门托管型语言,在PHP编程中程序员不需要手工处理内存资源的分配与释放(使用C编写PHP或Zend扩展除外),这就意味着PHP本身实现了垃圾回收机制(Garbage Collection)。现在如果去PHP官方网站(php.net)可以看到,目前PHP5的两个分支版本PHP5.2和PHP5.3是分别更新的,这是因为许多项目仍然使用5.2版本的PHP,而5....

PHP函数之array_multisort()

2017-02-25
阅读 2 分钟
5.4k
array_multisort() 函数返回排序数组。您可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序,可以理解为mysql中的sort key asc, key2 desc

PHP函数之parse_str()和parse_url()函数

2017-02-25
阅读 1 分钟
3.2k
parse_str() 函数把查询字符串解析到变量中。如果 str 是 URL 传递入的查询字符串(query string),则将它解析为变量并设置到当前作用域,并覆盖当前作用域已存在的变量。

PHP使用CURL详解

2017-02-19
阅读 3 分钟
6.4k
Curl是一个非常强大的开源库,支持很多协议,包括HTTP、FTP、TELNET等,我们使用它来发送HTTP请求。它给我 们带来的好处是可以通过灵活的选项设置不同的HTTP协议参数,并且支持HTTPS。CURL可以根据URL前缀是“HTTP” 还是“HTTPS”自动选择是否加密发送内容。

TEA、XTEA、XXTEA加密解密算法

2017-02-19
阅读 6 分钟
11.2k
在密码学中,微型加密算法(Tiny Encryption Algorithm,TEA)是一种易于描述和执行的块密码,通常只需要很少的代码就可实现。其设计者是剑桥大学计算机实验室的大卫·惠勒与罗杰·尼达姆。这项技术最初于1994年提交给鲁汶的快速软件加密的研讨会上,并在该研讨会上演讲中首次发表。

MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)

2017-02-16
阅读 3 分钟
3.8k
案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用: {代码...} 这样当有重复记录就会忽略,执行后返回数字0 还有个应用就是复制表,避免重复记录: {代码...} 方案二:使用Replace 语法格式: {代码...} ...算法说明:REPLACE的运行与INSERT很相像,但是如果旧记...

PHP缓存之Opcode缓存

2017-02-13
阅读 2 分钟
5.3k
当解释器完成对脚本代码的分析后,便将他们声称可以直接运行的中间代码,也成为操作码(Operate Code, Opcode)。Opcode cache的目的是避免重复编译,减少CPU和内存的开销。但是一般动态网站的性能瓶颈都在IO操作以及数据库操作,那么Opcode缓存能够带来的优化效果是有限的。

Linux命令学习之:wc命令

2017-02-12
阅读 1 分钟
2.8k
Linux命令学习之:wc命令 统计文件里面有多少单词,多少行,多少字符。 wc语法 {代码...}   默认使用wc统计/etc/passwd {代码...} 40是行数,45是单词数,1719是字节数   wc的命令比较简单使用,每个参数使用如下: {代码...}  转自:[链接]

Linux命令学习之:cut命令

2017-02-12
阅读 1 分钟
2.5k
Linux命令学习之:cut命令 cut命令可以从一个文本文件或者文本流中提取文本列。 cut语法 {代码...}   PATH 变量如下 {代码...}   将 PATH 变量取出,我要找出第五个路径。 {代码...}   将 PATH 变量取出,我要找出第三和第五个路径。 {代码...}   将 PATH 变量取出,我要找出第三到最后一个路径。 {代码...}   将 PATH ...

Linux命令学习之:uniq命令

2017-02-12
阅读 1 分钟
6.1k
Linux命令学习之:uniq命令  uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。 uniq语法 {代码...}   testfile的内容如下 {代码...}   直接删除未经排序的文件,将会发现没有任何行被删除** {代码...}   排序文件,默认是去重 {代码...}   排...

Linux命令学习之:sort命令

2017-02-12
阅读 2 分钟
3.2k
sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。

Linux命令学习之:awk命令

2017-02-12
阅读 5 分钟
3.6k
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。

Linux命令学习之:echo命令

2017-02-12
阅读 1 分钟
2.9k
该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

Linux Shell 工作原理

2017-02-12
阅读 1 分钟
5.8k
 在CLUI(Command Line User Interface,与GUI对应)模式下,用户是通过shell与系统交互的。shell也是一个程序,它与其他程序最大的不同是:它的目的是执行其他程序,而不是从事计算,绘图,存储等等具体事务。分析一下shell的工作原理有助于破除shell的神秘感,更好的掌握shell命令。下图是shell的基本流程,现在流行的ba...

Linux命令学习之:nl命令

2017-02-12
阅读 1 分钟
3.4k
nl命令在linux中用来计算文件中的行号。nl可以将输出的文件内容自动加上行号,默认的结果类似cat -n,nl可以将行号做比较多的显示设计,包括位数与是否自动补齐0等设计

Mysql怎样存储IP地址

2017-02-12
阅读 1 分钟
4.5k
在Mysql中并没有提供针对IP地址存储的数据格式,在开发中我们可以选择使用char、varchar、int来存储,根据mysql字段类型选择的规则:字段类型定义使用最合适(最小)、最简单的数据类型,优先选择使用int类型来存储,其在逻辑运算上也要比char、varchar更快

HTTP状态码详解

2017-02-05
阅读 4 分钟
2.4k
100(Continue/继续):如果服务器收到头信息中带有100-continue的请求,这是指客户端询问是否可以在后续的请求中发送附件。在这种情况下,服务器用100(SC_CONTINUE)允许客户端继续或用417 (Expectation Failed)告诉客户端不同意接受附件。这个状态码是 HTTP 1.1中新加入的。 

SVN 报错svn: E200014: Checksum mismatch for 。。。。。

2017-01-29
阅读 1 分钟
8.1k
今天svn update 时报错: {代码...} 意思就是本地文件的标识与远程不一致,解决方法入下: 先在错误文件所在目录执行: {代码...} 注意:此方法会删除此目录中的所有文件,避免万一,请主动备份、备份、备份,然后。。。。文件没了,再执行:​ {代码...} ok 文件回来了,查看一下是不是解决了。。。。当然,我怎么知道这...

svn: E155010: Pristine text 'a31e85c8d4...089ed435e' not present

2017-01-29
阅读 1 分钟
6.9k
在[链接]下载sqlite, 我选择的是 Precompiled Binaries for Mac OS X (x86),当然大家可以根据自己的设备选择适当的文件

创建链表并插入数据(有序)

2017-01-29
阅读 2 分钟
1.9k
{代码...}

Linux 之定时任务crontab

2017-01-29
阅读 4 分钟
3.2k
crond是Linux下用来周期执行某种任务或等待处理某些事件的一个守护进程,当安装完成操作系统后,默认会安装此项服务,并且会自动启动crond进程,croud每分钟会定期检查是否有要执行的任务,如果有则自动执行该任务。Linux下的任务调度分为两类,系统任务调度和用户任务调度

Linux命令之telnet 命令

2017-01-29
阅读 1 分钟
2.9k
Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就...

Linux命令之top命令

2017-01-29
阅读 8 分钟
4.6k
top 命令是Linux下常用的系统性能分析工具,能够实时侠士系统中各个进程的资源占用情况,默认5秒刷新一次进程列表,类似于windows的进程管理器

错误:bash: fork: Resource temporarily unavailable

2017-01-29
阅读 1 分钟
6.4k
在linux系统下,用php的 pcntl_fork 创建子进程时报错:bash: fork: Resource temporarily unavailable, 错误本质是Linux操作系统无法创建更多的进程,导致出错;因此,解决办法是修改Linux允许创建多个子进程;使用 ulimit -a 查看当前系统的参数: