维护
文章平均质量分 58
@航空母舰
这个作者很懒,什么都没留下…
展开
-
DB数据迁移方案
互联网系统,经常会有数据迁移的需求。系统从机房迁移到云平台,从一个云平台迁移到另一个云平台,系统重构后表结构发生了变化,分库分表,更换数据库选型等等,很多场景都需要迁移数据。在互联网行业,很多系统的访问量很高,即便在凌晨两三点也有一定的访问量。由于系统数据迁移,导致服务暂停几分钟,是很难被业务方接受的!本文我们就来聊一下,在用户无感知的前提下,如何设计不停机数据迁移方案!数据迁移过程我们要注意哪些关键点呢?第一,保证迁移后数据准确不丢失,即每条记录准确而且不丢失记录;第二,不影响用户体验(尤其是访问原创 2021-11-18 10:04:08 · 1935 阅读 · 0 评论 -
MySql 大批量导入数据时关闭索引
1.建表create table goods(id int primary key,name varchar(20),key(name));2.插入数据delimiter $$create procedure p1(in num int)begin declare name varchar(20) default ''; declare i int default 0; while i<= num do set name = concat('Ap原创 2021-10-28 16:04:40 · 1744 阅读 · 0 评论 -
海量数据的更新/删除策略
1.延迟删除一条数据会被很多数据引用。当被引用的数据删除时,引用的数据也需要删除。这时候可以用延迟删除的方法。例子:用户发表的帖子,可以被转发到很多地方。所有转发过的贴都是对原帖的引用,用户接着把他的原帖删除,所有被转发过的帖子也需要进行清理。我们采用 的是延迟删除的方法,用户操作时,先直接删除原帖,被转发的贴,在点击时,会到原帖加载内容,这时发现原帖已经不存在,此时这条被点击的转发贴也会被删 除。当用户访问引用的数据时,发现被引用的数据不存在,此时删除引用的数据。2.线下删除一条数据关联到很多原创 2011-03-28 10:54:01 · 242 阅读 · 0 评论 -
Linux日志切割神器Logrotate
logrotate程序是一个日志文件管理工具。用于分割日志文件,删除旧的日志文件,并创建新的日志文件,起到“转储”作用。可以节省磁盘空间。下面就对logrotate日志轮转操作做一梳理记录。为什么要切割日志文件?大文件被切割后,访问速度大大加快 按天切割后,方便定位程序问题 删除旧的日志文件(比如2个月之前的),可以节省磁盘空间1、配置文件介绍Linux系统默认安装logrotate工具,它默认的配置文件在:/etc/logrotate.conf/etc/logrotate.d..原创 2021-07-15 12:04:57 · 842 阅读 · 0 评论 -
PHP 读取大文件
最近在工作中遇到了需要读取系统日志的问题,日志文件很大,大概在1G以上甚至更大,随即研究了读取得方法,直接使用PHP自带的函数就可以解决这几个问题,但是绝对不能使用file和file_get_contents,这两个函数是一次性将文件全部加载进来,如果文件在几十M 还是可以的,但是稍大的文件时不能用的,内存是会溢出的 ,贴个自己的方法,欢迎大家指教!<?/*** PHP 读取大文件 测试文件大于1G的文本文件** @copyright(c) 2010 by 高成. All rights.原创 2011-02-18 16:27:58 · 260 阅读 · 1 评论 -
excel如何快速筛选出重复项
打开数据表,选中需找出重复项的一列,在开始菜单栏中找到“条件格式 → 突出显示单元格规则 → 重复项”。 可以看到重复项都被标注成了红色,接下来就是处理这些重复数据。 选中所有的数据,点击“筛选”工具,然后在姓名这一列中依次选择“升序”“按颜色排序”,就可以很清晰地看到重复项排列在一起。 最后我们一一将错误的数据删除掉,就可以得到完整唯一的数据表了。 ...原创 2020-03-17 14:58:08 · 1768 阅读 · 0 评论 -
5个超实用的Excel数据透视表技巧
在工作中导出的报表,做各种数据核对。数据透视表在汇总数据的时候非常高效,我们精选了5个常用的小技巧,轻松解决工作难题~1、将计数改成求和我们在使用数据透视表汇总的时候,有时候将字段拖入求值之后,发现结果明显不对,少了很多,这就是字段插入值之后,Excell的汇总方式是计数,那么我们需要选择这个字段,点击值字段设置,将它更改成汇总2、将大纲样式修改成表格样式当我们数据透视表...原创 2020-03-13 21:08:04 · 4460 阅读 · 1 评论 -
系统迭代,运营出现问题应急方案
.0的版本即可2.如果没有配置版本控制,系统应该部署2套代码v2.3.0版和v2.3.1版。将运营系统入口直接指向v2.3.0版即可(废弃v2.3.1)。②数据库部分要保证支持快速回滚,数据库有一些要求必须满足,数据库不支持回退,新版本多出的信息可以向前兼容。1)废弃的字段或表等不能删除,因为现在用不到,以前的版本可能用的上,防止回退出错。2)建好的表名或字段名不要修改名字。防止以前的版本回退出错。3)每个新增的字段都要有一个默认值。如果没有默认值可以允许为空#!/bin/bas原创 2016-01-27 15:10:14 · 181 阅读 · 0 评论 -
Swoole task来实现实时异步任务队列
原创 2016-03-24 11:32:39 · 380 阅读 · 0 评论 -
并发网站压力测试工具
接影响用户体验。但是,在压力测试中存在一个共性,那就是压力测试的结果与实际负载结果不会完全相同,就算压力测试工作做的再好,也不能保证100% 和线上性能指标相同。面对这些问题,我们只能尽量去想方设法去模拟。所以,压力测试非常有必要,有了这些数据,我们就能对自己做维护的平台做到心中有数 性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege。webbench是有名的网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。webbench能测试处在相同硬原创 2016-03-30 16:59:43 · 1701 阅读 · 0 评论 -
ApiDoc YAPI Swagger 编写接口文档
生成一个REST风格的Web API文档。安装apidocjsnpm install apidoc -g查看是否安装成功apidoc -h生成文档必须有.json 文件和带有Javadoc风格注释(可以在C#, Go, Dart, Java, JavaScript, PHP, TypeScript等语言中使用)的文件。[root@centos php]# lsapi..................原创 2016-05-31 14:13:06 · 2081 阅读 · 1 评论 -
git hook实现代码自动更新
原创 2018-01-04 11:28:05 · 1380 阅读 · 0 评论 -
CentOS系统参数优化-提升MySQL服务器性能
相信大多数MySQL数据库都会部署在Linux系统之中,尤其是生产数据库,我所用到的MySQL数据库都是部署在CentO64位操作系统上的,对操作系统默认参数的一些修改配置,可以让数据库的性能得到进一步的提升。我们最好不要把数据库装好之后马上就运行使用,而是应该将数据库的操作系统,以及数据库本身的一些参数配置好后再使用。1.网络参数配置网络参数配置需要修改配置文件/etc/sysctl.co...原创 2018-12-04 15:05:10 · 324 阅读 · 0 评论 -
项目csv文件 利用Excel分列功能 求和
项目中导出的csv文件,有的数据在Excel中打开数据显示不正常,保存时有的数据会丢失,需要转存Excel(如电话号码:027 87976545 不显示0,保存会丢失),这时候,以文本方式打开csv全选复制后,粘贴到新建的空Excel一列中,然后用下面的方法进行分列。1.将A列的时间,拆分成日期和时间两列。按空格分列实现时间拆分。分隔符号这里,可以按Tab键、分号、逗号、空格分隔,如果都不是...原创 2019-04-10 21:49:46 · 2736 阅读 · 0 评论 -
文件同步类SimFileSync.class.php
件名$sync->set('exclude_dir_array', array( '.svn', '.settings'))->set('exclude_file_array', array( '.project', '.buildpath' ));// 同步$sync->sync($src, $dest);// 返回同步列表print_r($sync->原创 2015-07-13 00:25:19 · 69 阅读 · 0 评论 -
提取ftp上传文件与服务器文件对比的更新
原创 2015-01-08 15:23:49 · 243 阅读 · 0 评论 -
存储过程 @与字符连接
> BEGIN -> declare a int; -> declare b varchar(5000); -> set a=1; -> set b=''; -> while a<10 do -> set b = concat(b,',',a); -> set a=a+原创 2013-04-12 15:45:30 · 312 阅读 · 1 评论 -
项目数据批量维护
行变量的sql更新操作。2.csv文件中去批量更新数据,保存文件。<?php//ImportCsv.phpset_time_limit(60);$link = mysql_connect("localhost","root","orbit");mysql_select_db("wms_site_ks01");$filePath_unite = "./job_item_id.原创 2010-10-15 17:30:34 · 189 阅读 · 0 评论 -
3>存储过程维护项目数据
DROP PROCEDURE IF EXISTS repalceSizeService;CREATE PROCEDURE repalceSizeService()BEGINdeclare _size_level int(10); declare _price int(10); declare _code_business VARCHAR(30); declare done int;...原创 2010-11-18 10:39:46 · 107 阅读 · 0 评论 -
linux shell编程实例合集
密码/usr/local/mysql/bin/mysqldump dbname -udbuser -pdbpassword > /home/backup/$backDbecho -e "DB Backup Done!\n"tar -zcvf /home/phpeye/$backFile /websites/phpeye/echo -e "File Backup Done!\n"ftp -n $backHost&l原创 2011-01-06 09:44:17 · 897 阅读 · 0 评论 -
CMD快速生成更新的文件结构
\templates\default\giftchange.list.tpl1新建一个目录projectName_update2.进入目录后,复制当前目录后,cmd切换到复制的目录3. 快速创建项目目录结构md include\Module\md include\templates\default\md include\Module\util\md include\templates\default\4.复制文件,可以将上面的脚本写成.bak...原创 2011-12-09 09:47:24 · 106 阅读 · 0 评论 -
innodb 共享表空间 转 独立表空间 详细说明
原创 2012-01-04 17:39:53 · 89 阅读 · 0 评论 -
mysql autocommit对myisam,innodb的性能影响
原创 2012-01-13 12:05:26 · 116 阅读 · 0 评论 -
DNS轮询
原创 2012-01-31 17:19:37 · 104 阅读 · 0 评论 -
shell备份,重命名,删除目录下面的文件
原创 2012-05-05 00:47:23 · 155 阅读 · 0 评论 -
上传文件shell
ion.phtml/data/www/wwwroot/test.com/www/app/design/frontend/default/ddl_new/template/ticket/data/www/wwwroot/test.com/www/app/design/frontend/default/ddl_new/layout/customer.xml/data/www/wwwroot/test.com/www/app/code/local/test/Ticket/data/www/wwwr原创 2012-05-08 13:13:15 · 205 阅读 · 0 评论 -
SVN hook实现SVN与WEB测试服务器同步
原创 2012-05-16 17:57:40 · 125 阅读 · 0 评论 -
SHELL实现svn必须添加注释后提交
,如果不添加注释,代码版本多了,根本搞不清,哪个版本改了什么东西?所以如果加一些注释的话,我们看起来,也方便很多。但是在真正的实际中,很多人都没有添加相关的注释,这里面的原因很多,因此决定通过脚本来控制这一过程,也就是实现必须要通过添加描述信息才能顺利的提交你的代码!。所以在提交的时候,我会强制要求写注释。如果对svn的安装配置不怎么了解,请参考:linux svn安装和配置,不结合apache#cd /home/administrator/www/svntest svntest是一个代码仓库#cp原创 2012-05-29 14:26:20 · 158 阅读 · 0 评论 -
PHP不影响正常运行的调试技巧
原创 2013-01-30 15:10:09 · 143 阅读 · 0 评论 -
通用分表存储过程
est', @field_list, 4, 2);创建分表存储过程DROP PROCEDURE IF EXISTS `branch_table`;CREATE PROCEDURE `branch_table`( IN p_table_name VARCHAR(200), IN p_field_list VARCHAR(2048), IN p_branch_size INT,原创 2013-04-11 20:58:17 · 100 阅读 · 0 评论