由于项目需要上传大文件,网上找到了开源框架Plupload
但是有时候上传的文件会不一致
在多次测验后发现是由于chunk丢失造成
增加log日志发现,如果请求是连接中断等问题,下个chunk会继续上传
到最后就算上传成功,文件也是有丢失
修复Plupload 1.5.8版本网络断开问题chunk会继续向后增加上传
修改方法xhr.onreadystatechange
if (httpStatus >= 400)
后面的else增加
else if (!xhr || !xhr.responseText || xhr.responseText == '' || xhr == '') {
console.log('xhr', xhr);
uploadNextChunk();
}
2015年5月6日星期三
2015年3月11日星期三
MySQL触发器自动更新memcache
mysql
5.1支持触发器以及自定义函数接口(UDF)的特性,如果配合libmemcache以及Memcached Functions for
MySQL,就能够实现memcache的自动更新。简单记录一下安装测试步骤。
安装步骤
- 安装memcached,这个步骤很简单,随处可见
- 安装mysql server 5.1RC,安装办法也很大众,不废话了
- 编译libmemcached,解压后安装即可
./configure; make; make install
- 编译Memcached Functions for
MySQL,在http://download.tangent.org/找一个最新的版本下载就是,
./configure --with-mysql=/usr/local/mysql/bin/mysql_config --libdir=/usr/local/mysql/lib/mysql/
make
make install
- 接下来有两个办法让Memcached Functions for MySQL在mysql中生效
- 在mysql的shell中执行memcached_functions_mysql源码目录下的sql/install_functions.sql,这会把memcache function作为UDF加入mysql
- 运行memcached_functions_mysql源码目录下的utils/install.pl,这是一个perl脚本,作用同上一条
测试memcache function
以下测试脚本摘自memcached_functions_mysql的源码目录,有兴趣可以试试
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2015年1月13日星期二
Mysql多个LEFT JOIN使用ORDER不能使用索引解决方案
Mysql在多个LEFT JOIN的情况下使用ORDER BY排序,就算是其中一个表的主键也仍然使用file sort排序,数据量多的话就相当的慢。
优化前语句
SELECT * FROM a LEFT JOIN b ON a.id=b.a_id ORDER a.id DESC
优化后语句
SELECT * FROM a LEFT JOIN b ON a.id=b.a_id JOIN (SELECT id FROM a ORDER BY id DESC) a_order ON a.id = a_order.id
实际工作中100W+的几个表使用LEFT JOIN要20分钟才能得到结果,语句优化后3秒。
以下是实际操作中Durpal Views的 hook_views_query_alter() 使用代码
优化前语句
SELECT * FROM a LEFT JOIN b ON a.id=b.a_id ORDER a.id DESC
优化后语句
SELECT * FROM a LEFT JOIN b ON a.id=b.a_id JOIN (SELECT id FROM a ORDER BY id DESC) a_order ON a.id = a_order.id
实际工作中100W+的几个表使用LEFT JOIN要20分钟才能得到结果,语句优化后3秒。
以下是实际操作中Durpal Views的 hook_views_query_alter() 使用代码
$views_join = new views_join();
$views_join->extra_type = 'AND';
$views_join->table = '(SELECT aid FROM activity_log ORDER BY aid DESC)';
$views_join->left_table = 'activity_log';
$views_join->left_field = 'aid';
$views_join->field = 'aid';
$views_join->type = 'INNER';
$views_join->adjusted = true;
$query->table_queue['activity_log_order']['join'] = $views_join;
$query->table_queue['activity_log_order']['alias'] = 'activity_log_order';?>
订阅:
博文 (Atom)
上海松善实业有限公司
上海松善实业有限公司是一家集多品牌销售于一体的电线电缆骨干企业,公司成立于2016年。 公司拥有国内各大品牌:起帆、远东、上上、江南、胜华等。 主要产品有:高低压电力电缆、橡套电缆、控制电缆、架空绝缘电缆、塑胶电缆、电子计算机电缆、通讯电缆、...
-
上海松善实业有限公司是一家集多品牌销售于一体的电线电缆骨干企业,公司成立于2016年。 公司拥有国内各大品牌:起帆、远东、上上、江南、胜华等。 主要产品有:高低压电力电缆、橡套电缆、控制电缆、架空绝缘电缆、塑胶电缆、电子计算机电缆、通讯电缆、...
-
符号 C- 意思是按住 Ctrol 键 M- 意指 Meta 键 (键盘上若无Meta 键,则可以ALT ESC 键来取而代之) DEL 意指退格键 (不是 删除(Delete) key) RET 意指回车键 SPC 意指空格键...
-
Step 1: 在您的 home 底下的 .forward 檔中加入: (forward又是啥東東?) "|/usr/local/bin/procmail",以後寄給您的郵件將會先交給 procmail 程式處理。 Step 2: 在你的home底下編...