自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宝塔镇河妖的专栏

镇住每个塔下面的小妖

  • 博客(71)
  • 资源 (2)
  • 收藏
  • 关注

原创 git 简写

alias gc='git clone 'alias gco='git checkout'alias gd='git diff'alias gl='git pull'alias gp='git push'alias gr='git branch'alias gst='git status'alias glog='git log'alias glogp='git

2016-12-14 22:23:42 4056

原创 docker mysql主从同步

1、首先创建两个文件my-m.cnf(主库配置) 、my-s.cnf(从库配置) my-m.cnf 内容如下:# Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.## This program is free software; you can redistribute it and/or

2016-12-14 22:21:30 802

原创 sql优化

如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也

2015-08-10 16:04:02 725

原创 sql优化

如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能。所以,在一个系统开始实施之前,完备的数据库模型的设计是必须的。在一个系统分析、设计阶段,因为数据量较小,负荷较低。我们往往只注意到功能的实现,而很难注意到性能的薄弱之处,等到系统投入实际运行一段时间后,才发现系统的性能在降低,这时再来考虑提高系统性能则要花费更多的人力物力,而整个系统也

2015-08-10 16:03:19 415

原创 mysql 索引及优化

写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间),则

2015-08-02 23:14:47 464

原创 sql优化

Sql语句优化   Sql语句优化工具   ·慢日志   如果发现系统慢了,又说不清楚是哪里慢,那么就该用这个工具了。只需要为mysql配置参数,mysql会自己记录下来慢的sql语句。配置很简单,参数文件里配置:   slow_query_log=d:/slow.txt   long_query_time = 2   就可以在d:/slow.txt里找到执行时间超过2秒的语句了,根据这

2015-07-28 14:23:35 402

原创 mysql 数据库参数配置

数据库参数配置   最重要的参数就是内存,我们主要用的innodb引擎,所以下面两个参数调的很大   # Additional memory pool that is used by InnoDB to store metadata   # information. If InnoDB requires more memory for this purpose it will   # sta

2015-07-28 14:15:34 937

原创 zookeeper 原理

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些应用中使用,因此需要有一种可靠的、可扩展的、分布式的、可配置的协调机制来统一系统的状态。Zookee

2015-07-15 16:18:44 548

原创 dubbo

互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,Dubbo是一个分布式服务框架,在这种情况下诞生的。现在核心业务抽取出来,作为独立的服务,使前端应用能更快速和稳定的响应。第一:介绍Dubbo背景    大规模服务化之前,应用可能只是通过RMI或Hessian等

2015-07-15 11:25:35 492

原创 Dubbo 架构分析

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。关于注册中心、协议支持、服务监控等内容,详见后面描述。总体

2015-07-02 20:45:09 986

转载 redis 负载均衡

你看到的这个文章来自于http://www.cnblogs.com/ayanmwredis 官网 http://redis.io/中文网站 http://redis.cn/谷歌代码的redis项目 https://code.google.com/p/redis/http://www.oschina.net/p/redis/在oschina.net的介绍:复制代码 Redis 是一个高性能的key-

2015-07-02 16:55:17 3295

原创 redis 集群

概述 由于单台redis服务器的内存管理能力有限,使用过大内存redis服务器的性能急剧下降,且服务器发生故障将直接影响大面积业务。为了获取更好的缓存性能及扩展型,我们将需要搭建redis集群来满足需求。因redis 3.0 beta支持的集群功能不适合生产环境的使用,所以我们采用twitter正在使用的twemproxy来搭建redis缓存服务器集群,目前用户包括Pinterest、Tumblr

2015-07-02 16:45:34 1089

转载 redis 集群

应用 我们的Redis集群主要承担了以下服务: 1. 实时推荐 2. 用户画像 3. 诚信分值服务集群状况 集群峰值QPS 1W左右,RW响应时间999线在1ms左右 整个集群: 1. Redis节点: 8台物理机;每台128G内存;每台机器上8个instance 2. Sentienl:3台虚拟机集群方案Redis Node由一组Redis Instance组成,一组Redis I

2015-07-02 16:33:12 582

原创 Git 修订版本

6.1 Git 工具 - 修订版本(Revision)选择修订版本(Revision)选择Git 允许你通过几种方法来指明特定的或者一定范围内的提交。了解它们并不是必需的,但是了解一下总没坏处。单个修订版本显然你可以使用给出的 SHA-1 值来指明一次提交,不过也有更加人性化的方法来做同样的事。本节概述了指明单个提交的诸多方法。简短的SHAGit

2015-01-03 15:51:26 631

原创 Git 项目管理

5.3 分布式 Git - 项目的管理项目的管理既然是相互协作,在贡献代码的同时,也免不了要维护管理自己的项目。像是怎么处理别人用 format-patch 生成的补丁,或是集成远端仓库上某个分支上的变化等等。但无论是管理代码仓库,还是帮忙审核收到的补丁,都需要同贡献者约定某种长期可持续的工作方式。使用特性分支进行工作如果想要集成新的代码进来,最好局限在特性分支

2015-01-03 15:40:08 827

原创 Git contributer

5.2 分布式 Git - 为项目作贡献为项目作贡献接下来,我们来学习一下作为项目贡献者,会有哪些常见的工作模式。不过要说清楚整个协作过程真的很难,Git 如此灵活,人们的协作方式便可以各式各样,没有固定不变的范式可循,而每个项目的具体情况又多少会有些不同,比如说参与者的规模,所选择的工作流程,每个人的提交权限,以及 Git 以外贡献等等,都会影响到具体操作的细节。

2015-01-03 15:33:29 1295

原创 Git 分布式工作流程

5.1 分布式 Git - 分布式工作流程分布式工作流程同传统的集中式版本控制系统(CVCS)不同,开发者之间的协作方式因着 Git 的分布式特性而变得更为灵活多样。在集中式系统上,每个开发者就像是连接在集线器上的节点,彼此的工作方式大体相像。而在 Git 网络中,每个开发者同时扮演着节点和集线器的角色,这就是说,每一个开发者都可以将自己的代码贡献到另外一个开发者的仓库中,或者

2015-01-03 15:28:00 466

原创 Git 托管服务

4.10 服务器上的 Git - Git 托管服务Git 托管服务如果不想经历自己架设 Git 服务器的麻烦,网络上有几个专业的仓库托管服务可供选择。这样做有几大优点:托管账户的建立通常比较省时,方便项目的启动,而且不涉及服务器的维护和监控。即使内部创建并运行着自己的服务器,同时为开源项目提供一个公共托管站点还是有好处的 — 让开源社区更方便地找到该项目,并给予帮助。目

2015-01-03 15:18:38 575

原创 Git 守护进程

4.9 服务器上的 Git - Git 守护进程Git 守护进程对于提供公共的,非授权的只读访问,我们可以抛弃 HTTP 协议,改用 Git 自己的协议,这主要是出于性能和速度的考虑。Git 协议远比 HTTP 协议高效,因而访问速度也快,所以它能节省很多用户的时间。重申一下,这一点只适用于非授权的只读访问。如果建在防火墙之外的服务器上,那么它所提供的服务应该只是那些公

2015-01-03 15:07:00 726

原创 Git 配置访问权限

4.8 服务器上的 Git - GitoliteGitolite本节作为Gitolite的一个快速指南,指导基本的安装和设置。不能完全替代随Gitolite自带的大量文档。而且可能会随时改变本节内容,因此你也许想看看最新的版本。Gitolite是在Git之上的一个授权层,依托sshd或者httpd来进行认证。(概括:认证是确定用户是谁,授权是决定该用户是否被允许做他想做

2015-01-03 15:00:11 3982

原创 Git Git用户ssh公钥管理

4.7 服务器上的 Git - GitosisGitosis把所有用户的公钥保存在 authorized_keys 文件的做法,只能凑和一阵子,当用户数量达到几百人的规模时,管理起来就会十分痛苦。每次改删用户都必须登录服务器不去说,这种做法还缺少必要的权限管理 — 每个人都对所有项目拥有完整的读写权限。幸好我们还可以选择应用广泛的 Gitosis 项目。简单地说,G

2015-01-03 14:43:54 1146

原创 Git web服务器

4.6 服务器上的 Git - GitWebGitWeb现在我们的项目已经有了可读可写和只读的连接方式,不过如果能有一个简单的 web 界面访问就更好了。Git 自带一个叫做 GitWeb 的 CGI 脚本,运行效果可以到 http://git.kernel.org 这样的站点体验下(见图 4-1)。Figure 4-1. 基于网页的 GitWeb

2015-01-03 14:20:16 833

原创 Git 公共访问设置

4.5 服务器上的 Git - 公共访问公共访问匿名的读取权限该怎么实现呢?也许除了内部私有的项目之外,你还需要托管一些开源项目。或者因为要用一些自动化的服务器来进行编译,或者有一些经常变化的服务器群组,而又不想整天生成新的 SSH 密钥 — 总之,你需要简单的匿名读取权限。或许对小型的配置来说最简单的办法就是运行一个静态 web 服务,把它的根目录设定为 Git 仓库

2015-01-03 14:11:12 729

原创 Git 服务器搭建

4.4 服务器上的 Git - 架设服务器架设服务器现在我们过一边服务器端架设 SSH 访问的流程。本例将使用 authorized_keys 方法来给用户授权。我们还将假定使用类似 Ubuntu 这样的标准 Linux 发行版。首先,创建一个名为 'git' 的用户,并为其创建一个 .ssh 目录。$ sudo adduser git$ su git$ cd$

2015-01-03 13:55:14 675

原创 Git 服务器SSH公钥

4.3 服务器上的 Git - 生成 SSH 公钥生成 SSH 公钥大多数 Git 服务器都会选择使用 SSH 公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有操作系统上都差不多。 首先先确认一下是否已经有一个公钥了。SSH 公钥默认储存在账户的主目录下的 ~/.ssh 目录。进去看看:$ cd ~/.ssh$ ls

2015-01-03 13:45:21 1011

原创 Git 服务器部署

4.2 服务器上的 Git - 在服务器上部署 Git在服务器上部署 Git开始架设 Git 服务器前,需要先把现有仓库导出为裸仓库 — 即一个不包含当前工作目录的仓库。做法直截了当,克隆时用 --bare 选项即可。裸仓库的目录名一般以 .git 结尾,像这样:$ git clone --bare my_project my_project.gitCloning int

2015-01-03 13:39:48 669

原创 Git 协议

4.1 服务器上的 Git - 协议协议Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。下面分别介绍一下哪些情形应该使用(或避免使用)这些协议。值得注意的是,除了 HTTP 协议外,其他所有协议都要求在服务器端安装并运行 Git。本地协议最基本的就是本地协议(Local protocol),所谓的远程仓库

2015-01-03 13:28:49 536

原创 Git 分支衍合

3.6 Git 分支 - 分支的衍合分支的衍合把一个分支中的修改整合到另一个分支的办法有两种:merge 和 rebase(译注:rebase 的翻译暂定为“衍合”,大家知道就可以了。)。在本章我们会学习什么是衍合,如何使用衍合,为什么衍合操作如此富有魅力,以及我们应该在什么情况下使用衍合。基本的衍合操作请回顾之前有关合并的一节(见图 3-27),你会看到开发进

2015-01-03 13:18:56 644

原创 Git 远程分支管理

3.5 Git 分支 - 远程分支远程分支远程分支(remote branch)是对远程仓库中的分支的索引。它们是一些无法移动的本地分支;只有在 Git 进行网络交互时才会更新。远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支的位置。我们用 (远程仓库名)/(分支名) 这样的形式表示远程分支。比如我们想看看上次同 origin 仓库通讯时master 分支的样子

2015-01-03 12:54:25 684

原创 Git 分支工作流程

3.4 Git 分支 - 利用分支进行开发的工作流程利用分支进行开发的工作流程现在我们已经学会了新建分支和合并分支,可以(或应该)用它来做点什么呢?在本节,我们会介绍一些利用分支进行开发的工作流程。而正是由于分支管理的便捷,才衍生出了这类典型的工作模式,你可以根据项目的实际情况选择一种用用看。长期分支由于 Git 使用简单的三方合并,所以就算在较长一段时间内,反

2015-01-03 12:30:57 742

原创 Git 分支管理

3.3 Git 分支 - 分支的管理分支的管理到目前为止,你已经学会了如何创建、合并和删除分支。除此之外,我们还需要学习如何管理分支,在日后的常规工作中会经常用到下面介绍的管理命令。git branch 命令不仅仅能创建和删除分支,如果不加任何参数,它会给出当前所有分支的清单:$ git branch iss53* master testing

2015-01-03 12:20:00 471

原创 Git 分支创建与合并

3.2 Git 分支 - 分支的新建与合并分支的新建与合并现在让我们来看一个简单的分支与合并的例子,实际工作中大体也会用到这样的工作流程:开发某个网站。为实现某个新的需求,创建一个分支。在这个分支上开展工作。假设此时,你突然接到一个电话说有个很严重的问题需要紧急修补,那么可以按照下面的方式处理:返回到原先已经发布到生产服务器上的分支。

2015-01-03 12:12:43 735

原创 Git分支

3.1 Git 分支 - 何谓分支何谓分支为了理解 Git 分支的实现方式,我们需要回顾一下 Git 是如何储存数据的。或许你还记得第一章的内容,Git 保存的不是文件差异或者变化量,而只是一系列文件快照。在 Git 中提交时,会保存一个提交(commit)对象,该对象包含一个指向暂存内容快照的指针,包含本次提交的作者等相关附属信息,包含零个或多个指向该提交对象的父对象

2015-01-03 11:52:45 510

转载 Redis之利用锁机制来防止缓存过期产生的惊群现象

首先,所谓的缓存过期引起的“惊群”现象是指,在大并发情况下,我们通常会用缓存来给数据库分压,但是会有这么一种情况发生,那就是当一个缓存数据失效之后会导致同时有多个并发线程去向后端数据库发起请求去获取同一个数据,这样如果在一段时间内同时生成了大量的缓存,然后在另外一段时间内又有大量的缓存失效,这样就会导致后端数据库的压力突然增大,这种现象就可以称为“缓存过期产生的惊群现象”!以下代码的思

2014-12-29 22:10:14 1010

原创 Java内存模型——JMM

深入理解Java内存模型(一)——基础并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来

2014-10-18 22:44:26 1165

原创 WebStorm搭建nodejs

WebStorm是作为JS开发IDE存在的,并且支持流行的Node.js以及JQuery等js框架。而Node.js简单说就是一个JS类库并且配备有Google的V8 js引擎来解析和执行js脚本。      那WebStorm+Node.js这样一个组合,用来开发基于Node.js平台的应用是最方便不过的了,并且可以知道WebStorm这个IDE环境对js的支持是灰常强大的,有智能提

2014-08-15 15:28:00 1094

原创 Oracle错误代码大全

ORA-00001: 违反唯一约束条件 (.)   ORA-00017: 请求会话以设置跟踪事件   ORA-00018: 超出最大会话数   ORA-00019: 超出最大会话许可数   ORA-00020: 超出最大进程数 ()   ORA-00021: 会话附属于其它某些进程;无法转换会话   ORA-00022: 无效的会话 ID;访问被拒绝   ORA-00023: 会话引用进程私用内存

2014-08-13 13:42:59 2155

原创 nodejs_api

Node.js Manual & DocumentationTable Of ContentsSynopsis 概要Global Objects 全局对象globalprocessrequire()require.resolve()require.paths__filename__dirnamemoduleTimers 定时器setTimeout(callbac

2014-07-10 22:33:01 2341

原创 Memcached旅终结

1. 什么是CAS协议很多中文的资料都不会告诉大家CAS的全称是什么,Google.com一下,CAS是什么?CAS是Check And Set的缩写。2. CAS协议原文http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt3. CAS的基本原理基本原理非常简单,一言以蔽之,就是“版本号”。每个

2014-07-10 22:31:44 715

原创 Node.js 学习一

Node.js是一个可以让javascript运行在服务器端的平台。node.js是一个为实时web应用开发而诞生的平台,它考虑到了实时响应/超大规模数据要求下架构的可扩展性。它采用了单线程,异步石IO,事件驱动式的设计模式。Node.js有着强大而灵活的包管理器(node package manager)npmnode.js 架构设计:1,异步式I/O,事件驱动2,V8引擎作为jav

2014-07-10 22:31:13 1109

java Swing

java图形界面开发资料,java swing

2013-07-10

空空如也

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

TA关注的人

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