共 4 篇文章
标签:用SVN将文件备份到服务器的实现方法 (svn备份到服务器)
VPS(Virtual Private Server,虚拟专用服务器)是一种利用虚拟化技术将一台物理服务器分割成多个相互隔离的虚拟服务器的技术,每个VPS都可以运行其自己的操作系统实例,并且具有独立的资源分配,如CPU、内存、硬盘空间和网络带宽等,由于VPS提供了接近于独立服务器的性能和灵活性,同时成本相对较低,因此它成为了架设各种网络服务,包括私服(即私人服务器,通常用于托管游戏或应用程序供特定群体使用)的热门选择。,VPS的优势, ,在探讨是否使用VPS架设私服之前,了解VPS的一些核心优势是有帮助的:,1、 资源隔离:VPS确保了资源的独立性,即使同一台物理服务器上的其他VPS过载,也不会影响到你的VPS性能。,2、 灵活性和可扩展性:用户可以根据需求轻松地升级或降级资源,如内存、存储空间和带宽等。,3、 完全的控制权:与共享主机相比,VPS给予用户更高级别的访问权限和管理控制权,用户可以自由安装软件和配置环境。,4、 成本效益:相较于租用整台物理服务器,VPS更为经济,因为它允许多个用户共享硬件成本。,架设私服的考量因素,决定是否使用VPS架设私服时,需要考虑以下几个因素:,1、 性能需求:游戏或应用程序对CPU、内存、硬盘I/O和网络带宽的需求会影响VPS的选择。,2、 流量估计:预计的用户数量和使用模式决定了所需带宽和服务器的处理能力。,3、 安全性:私服需要良好的安全措施来保护数据和防止未经授权的访问。,4、 合规性:确保私服遵守相关的法律和服务提供商的使用政策,特别是涉及版权和知识产权的规定。, ,5、 技术支持:选择一个提供良好技术支持的VPS提供商可以在遇到问题时获得帮助。,架设私服的步骤,假设已经考虑了上述因素并决定继续,以下是架设私服的基本步骤:,1、 选择合适的VPS提供商:基于价格、性能、评价和支持服务进行选择。,2、 购买和设置VPS:根据需求选择相应的资源配置,并进行初始设置。,3、 安装操作系统:大多数VPS提供商允许你选择操作系统,例如Linux发行版或Windows服务器。,4、 配置网络和防火墙:正确配置网络设置以确保服务器可以访问互联网,同时设置防火墙规则以增强安全性。,5、 安装必要的软件和服务:这可能包括游戏服务器软件、数据库、Web服务器等。,6、 优化服务器性能:调整设置以优化服务器的性能,比如调整内存分配或禁用不必要的服务。,7、 测试和监控:在私服上线前进行全面测试,确保一切运行正常,之后定期监控服务器性能和安全状态。,相关问题与解答, ,1、 Q: 架设私服合法吗?,A: 架设私服的合法性取决于所在国家的法律以及所托管内容的性质,如果涉及到商业游戏的私人服务器,可能会侵犯版权法,务必确保您的行为符合当地法律和游戏的服务条款。,2、 Q: 我应该选择哪种类型的VPS?,A: 选择VPS时应考虑提供商的可靠性、价格、客户评价、数据中心的地理位置以及提供的技术服务和支持等因素。,3、 Q: VPS能否处理高流量?,A: 这取决于您的VPS配置和优化情况,一些VPS可以很好地处理高流量,但如果流量超出其处理能力,可能会导致性能下降。,4、 Q: 我怎样才能保证私服的安全?,A: 实施强密码策略、定期更新软件、配置防火墙、使用安全协议(如SSH)、进行定期备份以及启用入侵检测系统都是确保私服安全的有效方法。,
在互联网的海洋中,域名系统(DNS)扮演着至关重要的角色,它负责将人类友好的域名转换为机器能够理解的IP地址,对于个人和企业来说,选择一个稳定、快速且经济的DNS解析服务是保障网站运行顺畅的关键之一,目前市场上提供免费DNS解析服务的平台不在少数,其中阿里云的活动“HTTP DNS新人1折起”吸引了众多用户的关注。,免费的DNS解析服务, ,免费的DNS解析服务通常由一些网络服务提供商以标准服务的形式免费提供,这些服务一般能够满足基础的解析需求,但可能不会提供高级功能或优先的技术支持,以下是一些常见的免费DNS解析服务:,1、 Cloudflare: 提供安全和快速的DNS解析服务,同时具备抗DDoS攻击的能力。,2、 Google Public DNS: 谷歌提供的免费DNS解析服务,注重速度和安全性。,3、 OpenDNS: 提供可定制的安全过滤选项,以及防钓鱼等功能。,4、 FreeDNS: 提供基本的DNS解析服务,支持多种记录类型。,阿里云HTTP DNS活动介绍,阿里云作为国内领先的云服务提供商,其HTTP DNS是一项基于HTTP协议的域名解析服务,旨在为用户提供一种更加安全、稳定和高效的域名解析方式,与传统的DNS相比,HTTP DNS具有以下优势:,1、 抗污染能力强: 由于采用HTTP协议,可以有效规避传统DNS遭到劫持和污染的问题。, ,2、 解析速度快: HTTP DNS利用阿里云全球 CDN节点进行加速,大幅减少了解析延迟。,3、 使用简单: 用户无需复杂的配置,即可通过API接口调用服务。,针对新用户的优惠活动,阿里云推出的“HTTP DNS新人1折起”活动,让新注册的用户能以极低的价格体验这项服务,这无疑对初创企业和个人开发者来说是一个吸引人的优惠。,技术细节,在技术层面,HTTP DNS的工作方式相对直接,当客户端需要进行域名解析时,它会向阿里云的HTTP DNS服务发送一个HTTP请求,该请求包含需要解析的域名信息,HTTP DNS服务收到请求后,会查询其后端的DNS记录,并将解析结果通过HTTP响应返回给客户端,整个过程使用了加密的HTTP连接,确保了传输的安全性。,为了提高解析效率,阿里云的HTTP DNS还采用了智能缓存策略,常用域名的解析结果会被缓存起来,从而加快后续相同请求的响应速度。,相关问题与解答,Q1: 阿里云HTTP DNS适用于哪些场景?, ,A1: 阿里云HTTP DNS适用于各种因传统DNS解析不稳定或受污染影响的场景,特别适合游戏、移动应用、企业官网等对稳定性和速度有较高要求的服务。,Q2: 使用阿里云HTTP DNS是否需要改变现有的DNS配置?,A2: 不需要,使用HTTP DNS通常只需要在应用程序中集成相应的SDK或API调用,无需更改现有的DNS配置。,Q3: 免费DNS服务通常有哪些限制?,A3: 免费DNS服务可能会限制解析速度、解析量、可创建的记录数量或种类,并且可能不提供高级的配置选项和技术支持。,Q4: 如何开始使用阿里云的HTTP DNS服务?,A4: 首先需要在阿里云官网注册账号并参与活动获取优惠,然后在你的应用程序中集成阿里云提供的HTTP DNS SDK或按照文档指引进行API调用配置即可开始使用。,
在互联网的海洋中,域名系统(DNS)扮演着至关重要的角色,它负责将人类友好的域名转换为机器能够理解的IP地址,对于个人和企业来说,选择一个稳定、快速且经济的DNS解析服务是保障网站运行顺畅的关键之一,目前市场上提供免费DNS解析服务的平台不在少数,其中阿里云的活动“HTTP DNS新人1折起”吸引了众多用户的关注。,免费的DNS解析服务, ,免费的DNS解析服务通常由一些网络服务提供商以标准服务的形式免费提供,这些服务一般能够满足基础的解析需求,但可能不会提供高级功能或优先的技术支持,以下是一些常见的免费DNS解析服务:,1、 Cloudflare: 提供安全和快速的DNS解析服务,同时具备抗DDoS攻击的能力。,2、 Google Public DNS: 谷歌提供的免费DNS解析服务,注重速度和安全性。,3、 OpenDNS: 提供可定制的安全过滤选项,以及防钓鱼等功能。,4、 FreeDNS: 提供基本的DNS解析服务,支持多种记录类型。,阿里云HTTP DNS活动介绍,阿里云作为国内领先的云服务提供商,其HTTP DNS是一项基于HTTP协议的域名解析服务,旨在为用户提供一种更加安全、稳定和高效的域名解析方式,与传统的DNS相比,HTTP DNS具有以下优势:,1、 抗污染能力强: 由于采用HTTP协议,可以有效规避传统DNS遭到劫持和污染的问题。, ,2、 解析速度快: HTTP DNS利用阿里云全球 CDN节点进行加速,大幅减少了解析延迟。,3、 使用简单: 用户无需复杂的配置,即可通过API接口调用服务。,针对新用户的优惠活动,阿里云推出的“HTTP DNS新人1折起”活动,让新注册的用户能以极低的价格体验这项服务,这无疑对初创企业和个人开发者来说是一个吸引人的优惠。,技术细节,在技术层面,HTTP DNS的工作方式相对直接,当客户端需要进行域名解析时,它会向阿里云的HTTP DNS服务发送一个HTTP请求,该请求包含需要解析的域名信息,HTTP DNS服务收到请求后,会查询其后端的DNS记录,并将解析结果通过HTTP响应返回给客户端,整个过程使用了加密的HTTP连接,确保了传输的安全性。,为了提高解析效率,阿里云的HTTP DNS还采用了智能缓存策略,常用域名的解析结果会被缓存起来,从而加快后续相同请求的响应速度。,相关问题与解答,Q1: 阿里云HTTP DNS适用于哪些场景?, ,A1: 阿里云HTTP DNS适用于各种因传统DNS解析不稳定或受污染影响的场景,特别适合游戏、移动应用、企业官网等对稳定性和速度有较高要求的服务。,Q2: 使用阿里云HTTP DNS是否需要改变现有的DNS配置?,A2: 不需要,使用HTTP DNS通常只需要在应用程序中集成相应的SDK或API调用,无需更改现有的DNS配置。,Q3: 免费DNS服务通常有哪些限制?,A3: 免费DNS服务可能会限制解析速度、解析量、可创建的记录数量或种类,并且可能不提供高级的配置选项和技术支持。,Q4: 如何开始使用阿里云的HTTP DNS服务?,A4: 首先需要在阿里云官网注册账号并参与活动获取优惠,然后在你的应用程序中集成阿里云提供的HTTP DNS SDK或按照文档指引进行API调用配置即可开始使用。,
在现代的工作环境中,人们需要在多个设备和网络环境享和存储文件。为了实现文件共享和备份,一个可靠的文件版本控制系统非常必要。 SVN(Subversion)是一个广泛使用的开源版本控制系统,它能够使用户轻松地备份和共享文件。 本文将介绍如何使用SVN将文件备份到服务器,并提供一些实践中需要注意的方法和技巧。 1. 安装SVN服务器 我们需要安装并配置一个SVN服务器以实现文件的备份和共享。有许多不同的SVN服务器可供选择,其中包括VisualSVN、TortoiseSVN、RoboSVN等。每个SVN服务器都有自己的优缺点,因此我们需要根据自己的需求选择最适合的服务器。 对于本文,我们选择VisualSVN Server作为SVN服务器。它是一个简单易用的服务器,具有Windows图形界面,使我们可以轻松地设置和管理SVN仓库。 要安装VisualSVN Server,只需按照以下步骤操作: 1)从VisualSVN官网下载VisualSVN Server软件。 2)运行下载的安装程序,并按照指示进行安装。 3)在安装完成后,启动VisualSVN Server Manager。 4)在VisualSVN Server Manager窗口中,右键单击Repositories并选择Create New Repository。 5)按照指示输入SVN仓库名称和位置,并单击Create按钮即可完成SVN仓库的创建。 2. 创建SVN仓库 创建SVN仓库通常需要一些命令行操作。我们可以使用命令行工具或者图形界面工具来完成这个任务。 其中,命令行工具提供更多的可定制化选项,但是对于非专业人员来说,使用图形界面工具通常更加容易上手。 例如,在Windows操作系统下,我们可以使用TortoiseSVN来创建SVN仓库。只需按照以下步骤操作: 1)在Windows资源管理器中,右键单击要创建SVN仓库的文件夹。 2)选择TortoiseSVN->Create Repository here。 3)在Create Repository窗口中,选择SVN仓库类型和版本,然后单击OK按钮即可创建SVN仓库。 3. 使用SVN备份文件 现在,我们已经在服务器上创建了SVN仓库,可以开始备份文件了。对于复杂项目,我们需要在一个SVN仓库中建立多个分支,每个分支都存储特定版本的文件。 要开始备份文件,请按照以下步骤操作: 1)使用SVN客户端连接到SVN服务器。选择Create New Repository,输入SVN仓库地址,输入用户名和密码,然后单击OK按钮。 2)在SVN客户端中,选择要备份的文件夹或项目,并将其导出到本地机器上。 3)在本地机器上的备份文件夹或项目中,创建一个新的SVN仓库。将备份文件夹或项目的所有文件拷贝到SVN仓库中。 4)在SVN客户端中,选择Create New Repository,输入SVN仓库地址,输入用户名和密码,然后单击OK按钮。此时,服务器和本地机器上的备份文件已经同步。 5)在SVN客户端中,选择要备份的文件夹或项目,并将其上传到SVN仓库中。 需要注意的是,当我们在服务器上备份文件时,还可以使用SVN服务器配置中的Hook脚本来触发定期备份任务。可以通过Hook脚本来执行版本文件的抽取、压缩并存储到备份服务器等一系列操作。这会方便地自动完成SVN备份,提升工作效率。 4. 常见问题解决方案 在备份文件过程中,我们可能会遇到一些常见问题。下面列举一些问题和解决方案。 1)SVN服务器连接失败。可能由于用户名或密码错误导致,可通过重置密码或者联系管理员解决。 2)SVN仓库没有权限访问,需要设置读写权限或管理员权限。 3)SVN客户端不能上传和下载文件。可能由于SVN客户端安装错误或配置错误导致。可以尝试重新安装SVN客户端或者检查配置。 4)SVN仓库磁盘已满。需要清理SVN仓库的无用文件或扩容磁盘。 5)SVN备份缓慢或失败。需要检查网络连接或者优化SVN备份脚本或配置。 5. 使非常简单。只需要按照以上步骤,创建SVN仓库并上传文件,就可以实现文件的备份和共享。 即便如此,我们在使用SVN备份的过程中仍然需要注意文件安全、SVN服务器配置和Hook脚本的维护等细节。通过认真学习和实践,我们可以更好地使用SVN进行文件备份和共享,提升工作效率和文件分发方式的可靠性。 相关问题拓展阅读: SVN的操作说明以及备份策略 SVN的操作说明以及备份策略 百万级访问量网站的技术准备工作 当今从纯网站技术上来说乎拆液,因为开源模式的发展,现在建一个小网站已经很简单也很便宜,所以很多人都把创业方向定位在互联网应用。这些人里大多数不是很懂技术,或者不是那么精通,而网站开发维护方面的知识又很分散,学习成本太高,所以这篇文章将这些知识点结合起来,系统的来说,一个从日几千访问的小小网站,到日访问一两百万的小网站,中间可能会产生什么问题,以及怎么才能在一开始做足工作尽量避免这些问题。 你的网站因为努力经营,访问量逐渐升高,在升高的过程中,问题也可能开始显现了。因为带宽的增加、硬件的扩展、人员的扩张所带来的成本提高是显而易见的,而还有相当大的一部分成本是因为代码重构、架构重构,甚至底层开发语言更换引起的,最坏的情况就是数据丢失,所有努力付之一炬。这类成本支出大多数在一开始就可以避免,先打好基础,往后可以省很多精力,少操很多心。 对于不同的初期投资成本,技术路线的选择是不同的。这里假设网站刚刚只是一个构想,计划之一年服务器硬件带宽投入5万左右。对于这个资金额度,有很多种方案可选择,例如租岁物用虚拟主机、租用单独服务器,或者流行的私有云,或者托管服务器。前两种选择,网站发展到一定规模时需迁移,那时再重做规划显然影响更大。服务器托管因为配置自主、能完全掌握控制权,所以有一定规模的网站基本都是这种模式。采用自己托管服务器的网站,一开始要注意以下几点—— 一、开发语言 一般来说,技术人员(程序员)都是根据自己技术背景选择自己最熟悉的语言,不过不可能永远是一个人写程序,所以在语言的选择上还要是要费些心思。首先明确一点,无论用什么语言,最终代码质量是看管理,因此我们从前期开发成本分析。现在国内流行的适用于网站的语言,大概有java、php、.net、 python、ruby这五大阵营。python和ruby因为在国内流行的比较晚,现在人员还是相对难招一些。.net平台的人相对多,但是到后期需要解决性能问题时,对人员技能的要求比较高。剩余的java、php用人可以说是最多的。java和php无法从语言层面做比较,但对于初期,应用几乎都是靠前端支撑的网站来说,php入门简单、编写快速,优势相对大一点。至于后端例如行为分析、银行接口、异步消息处理等,等真正需要时,就要根据不同业务需求来选择不同语言了。 二、代码版本管理 稍微有点规模的网站就需要使用代码版本管理了。代码版本管理两点更大的好处,一是方便协同工作,二是有历史记录可查询比较。代码版本管理软件有很多,vss/cvs/svn/hg等,目前国内都比较流行,其中svn的普及度还是很高的。 假设选了svn,那么有几点考虑。一是采用什么树结构。初期可能只有一条主干,往后就需要建立分支,例如一条开发分支,一条上线分支,再往后,可能要每个小组一个分支。建议一开始人少时选择两条分支,开发和线上,每个功能本地测试无误后提交到开发分支,最后统一测试,可以上线时合并到上线分支。如果每人都建自己的分支,合并时会浪费很大精力,对于几乎每天都要修改几次的WEB应用来说,所费时间太多。 向服务器部署代码,可以手工部署也可以自动部署。手工部署相对简单,一般可直接在服务器上svn update,或者找个新目录svn checkout,再把web root给ln -s过去。应用越复杂,部署越复杂,没有什么统一标准,只是别再用ftp上传那种形式,一是上传时文件引用不一致错误率增加,二是很容易出现开发人员的版本跟线上版本不一致,导致本来想改个错字结果变成回滚。如果有多台服务器还是建议自动部署,更换代码的机器从当前服务池中临时撤出,更新完毕后再重新加入。 三、服务器硬件 在各个机房里,靠一台服务器孤独支撑的网站数不清,但如果资金稍微充足,建议至少三台的标准配置,分别用作web处理、数据库、备份。web服务器至少要8G内存,双sata raid1,如果经济稍微宽松,或静态文件或图片多,则15k sas raid10。数据库至少16G内存,15k sas raid 10。备份服务器更好跟数据库服务器同等配置御嫌。硬件可以上整套品牌,也可以兼容机,也可以半品牌半组装,取决于经济能力。当然,这是典型的搭配,有些类型应用的性能瓶颈首先出现在web上,那种情况就要单独分析了。 web服务器可以既跑程序又当内存缓存,数据库服务器则只跑主数据库(假如是MySQL的话),备份服务器所承担就相对多一些,web配置、缓存配置、数据库配置都要跟前两台一致,这样WEB和数据库任意一台出问题,很容易就可以将备份服务器切换过去临时顶替,直到解决完问题。要注意,硬件是随时可能坏掉的,特别是硬盘,所以宁可WEB服务器跟数据库服务器放在一起,也一定不能省掉备份,备份一定要异机,并且有异步,电力故障、误操作都可能导致一台机器上的所有数据丢失。很多的开源备份方案可选择,最简单的就是rsync,写crontab里,定时同步。备份和切换,建议多做测试,选最安全最适合业务的,并且尽可能异地备份。 四、机房 三种机房尽量不要选:联通访问特别慢的电信机房、电问特别慢的联通机房、电信联通访问特别慢的移动或铁通机房。机房要尽可能多的实地参观,多测试,找个网络质量好,管理严格的机房。机房可以说是非常重要,直接关系到网站访问速度,网站访问速度直接关系到用户体验,访问速度很慢的网站,很难获得用户青睐。 五、架构 在大方向上,被熟知的架构是web负载均衡+数据库主从+缓存+分布式存储+队列。在一开始,按照可扩展的原则设计和编程就可以。只是要多考虑缓存失效时的雪崩效应、主从同步的数据一致性和时间差、队列的稳定性和失败后的重试策略、文件存储的效率和备份方式等等意外情况。缓存失效、数据库复制中断、队列写入错误、电源损坏,在实际运维中经常发生,如果不注意这些,出现问题时恢复期可能会超出预期很长时间。 六、服务器软件 操作系统Linux很流行。在没有专业运维人员的情况下,应倾向于择使用的人多、社区活跃、配置方便、升级方便的发行版,例如RH系列、 debian、ubuntu server等,硬件和操作系统要一起选择,看是否有适合的驱动,如果确定用某种商业软件或解决方案,也要提前知晓其对哪种操作系统支持更佳。web服务器方面,apache、nginx、lighttpd三大系列中,apache占有量还是更大,但是想把性能调教好还是需要很专业的,nginx和 lighttpd在不需要太多调整的情况下可以达到一个比较不错的性能。无论选择什么软件,除非改过这些软件或你的程序真的不兼容新版本,否则尽量版本越新越好,版本新,意味着新特性增多、BUG减少、性能增加。一个典型的php网站,基本上大多数人都没改过任何服务器软件源代码,绝大多数情况是能平稳的升级到新版本的。类似于jdk5到 jdk6,python2到python3这类变动比较大的升级还是比较少见的。看看ChangeLog,看看升级说明,结合自己情况评估测试一下,越早升级越好,升级的越晚,所花费的成本越高。对于软件包,尽量使用发行版内置的包管理工具,没有特殊要求时不建议自己编译,那样对将来运维不利。 七、数据库 几乎所有操作最后都要落到数据库身上,它又最难扩展(存储也挺难)。数据库常见的扩展方法有复制、分片,设计时要考虑到每种应用的数据如何复制、分片,当然这种考虑一般会推迟到技术设计时期。在初期进行数据库结构设计时,要根据不同的业务类型和增长量预期来考虑是否要分库、分区,并且尽量不要使用联合查询、不使用自增ID以方便分片。复制延时问题、主从数据库数据一致性问题,可以自己写或者用已有的运维工具进行检测。 用存储过程是比较难扩展的,这种情形多发生于传统C/S,特别是OA系统转换过来的开发人员。低成本网站不是一两台小型机跑一个数据库处理所有业务的模式,是机海作战。方便水平扩展比那点预分析时间和网络传输流量要重要的多的多。 另外,现在流行一种概念叫NoSQL,可以理解为非传统关系型数据库。实际应用中,网站有着越来越多的密集写操作、上亿的简单关系数据读取、热备等,这都不是传统关系数据库所擅长的,于是就产生了很多非关系型数据库,比如Redis/TC&TT/MongoDB/Memcachedb等,在测试中,这些几乎都达到了每秒至少一万次的写操作,内存型的甚至5万以上。在设计时,可根据业务特点和性能要求来选择是否使用这类数据库。例如 MongoDB,几句配置就可以组建一个复制+自动分片+failover的环境,文档化的存储也简化了传统设计库结构再开发的模式。但是当你决定采用一项技术时,一定要真正了解其优劣,例如可能你所选择的技术并不能支持你所需要的事务和数据一致性要求。 八、文件存储 存储的分布几乎跟数据库扩展一样困难,不过只有百万的PV的情况下,磁盘IO方面一般不会成大问题,一两台采用SATA做条带RAID的机器可以应付,反而是自己做异步备份比较复杂,因为小文件多。如果只有一台机器做存储,可以做简单的优化,例如放最小缩略图的分区和放中等缩略图的分区,根据平均大小调整一下块大小。存储要规划好目录结构,否则文件增多后维护起来复杂,也不利于扩展。同时还要考虑将来扩容,例如采用LVM,或者把文件根据不同规则散列到不同机器。磁盘IO繁重的情况下更容易出现故障,所以要做好备份,若发现有盘坏掉,要马上行动更换,很多人的硬盘都是坏了一块之后,接二连三的坏下去。 为了将来图片走cdn做准备,一开始更好就将图片的域名分开,且不用主域名。因为很多网站都将cookie设置到了.domain.ltd,如果图片也在这个域名下,很可能因为cookie而造成缓存失效,并且占多余流量,还可能因为浏览器并发线程限制造成访问缓慢。 九、程序 一定硬件条件下,应用能承载多少访问量,很大一部分也取决于程序如何写。程序写的不好,可能一万的访问都承载不了,写的好,可能一两台机器就能承担几百万PV。越是复杂、数据实时性要求越高的应用,优化起来越难,但对普通网站有一个统一的思路,就是尽量向前端优化、减少数据库操作、减少磁盘IO。向前端优化指的是,在不影响功能和体验的情况下,能在浏览器执行的不要在服务端执行,能在缓存服务器上直接返回的不要到应用服务器,程序能直接取得的结果不要到外部取得,本机内能取得的数据不要到远程取,内存能取到的不要到磁盘取,缓存中有的不要去数据库查询。减少数据库操作指减少更新次数、缓存结果减少查询次数、将数据库执行的操作尽可能的让你的程序完成(例如join查询),减少磁盘IO指尽量不使用文件系统作为缓存、减少读写文件次数等。程序优化永远要优化慢的部分,换语法是无法“优化”的。 然而编程时不应该把重点放在优化上,应该关注扩展性。当今的WEB应用,需求变化非常之快,适应多种需求的架构是不存在的,我们的扩展性就要把要点放在跟底层交互的架构上,例如持久化数据的存取规则、缓存的存取规则等,还有一些共用服务,例如用户信息等。先把不变的部分做完善,剩下的部分就很容易将精力放在业务逻辑上面了。 2.1文件检出 安装TortoiseSVN后,SVN会跟Windows的资源管理器完美集成。点击右键,我们可以在菜单栏中选择“SVN检出”选项,输入要检出代码的文件库的URL地址,我们就可以检出该URL地址下的文件库的文件。默认情况下是检出最新版本的代码,如果需要,我们可以通过浏览日志,根据日志来找出想要的版本,然后在“版本”选项中指定相应版本就可以检出相关代码了 。 之后,对于同一个项目的主干开发,我们都在这个检出的代码文件目录下操作,而不是每一次提交或更新都重新检出一次。 2.2文件添加 我们在本地创建的文件(包括目录)不会受SVN的控制,为了让其接受SVN的控制必须将其添加到文件库中。对于团队其他成员需要的文件,如代码文腔搜件、某些模块的.a文件(由于某些需要,该模块代码不公开),我们必须让它们接受SVN的控制,并且保持最新的版本。 2.3文件删除 当我们需要删除无用的文件(包括目录)时,不能使用Windows的资源管理工具,而必须使用SVN本身的删除文件功能。这样该文件被删除后,其所有修改历史仍然保存在SVN服务器中,以后仍然可以获得该文件的修改历史。 2.4文件改名 当我们需要对文件(包括目录)进行改名的时,不能使用Windows的资源管理工具,而必须使用SVN本身的文件改名功能。这样该文件被改名后,其改名前的所有修改历史仍然保存在SVN服务器中,保持连续的修改信息。 2.5文件更新 其他团队成员提交到SVN上的改动不会自动更新到你的本地拷贝中来,我们需要通过更新文件操作来获取其他成员对项目文件所做的修改。SVN更新文件操作会把文件库里的文件与本地文件进行合并,从而达到了同时保留其他成员的修改及本地的修改的目的。如果无法自动合并则会发生冲突,需要使用文件比较工具进行手工合并,合并完成后才能提交已解决冲突的文件。冲突的详细解决方法见第三章——冲突解决。 在团队开发时,更新是一件很重要的工作,可以保持团队成员之间的工作内容一致,慧圆亩因此要注意经常更新自己的工作拷贝,以保证自己能够获得最新的修改内容。 2.6改动提交...