- 博客(161)
- 资源 (28)
- 收藏
- 关注
原创 mysql事物小笔记
1,同一事物里面insert后,立即可见,其它事物不可见。2,mysqlInnoDB里面 普通query不会对行加锁。3,两个事物同事更新某一行,则有一个要等待。两个事物对不同行修改不等待。3,两个事物同事更新某一行的不同字段,则有一个要等待。两个事物对不同行修改不等待。
2014-09-30 15:04:40 678
原创 rabbitmq安装问题汇总
安装常见问题:1、启动rabbitmq-server时,报错信息:Starting rabbitmq-server: FAILED - check /var/log/rabbitmq/startup_{log, _err} 解决:使用netstat 查看是否存在,如果存在用kiss 将其杀死,在启动,我试过可以解决。2,报错:Try 'apt-get -f in
2014-09-29 15:38:12 2867
原创 AbstractQueuedSynchronizer的lock原理介绍
ReentrantLock是java.util.concurrent.locks中的一个可重入锁类.内部是通过AbstractQueuedSynchronizer来实现的。 Sync,FairSync和NonFairSync都是ReentrantLock的静态内部类。Sync 是一个抽象类,而FairSync和NonFairSync则是具体类,分别对应了公平锁和非公平锁。实际中公平锁吞吐量比非公平
2014-09-27 14:42:38 901
原创 java 并发包 CountDownLatch 例子
/**CountDownLatch类是一个同步计数器,构造时传入int参数,该参数就是计数器的初始值,每调用一次countDown()方法,计数器减1,计数器大于0 时,await()方法会阻塞程序继续执行CountDownLatch如其所写,是一个倒计数的锁存器,当计数减至0时触发特定的事件。利用这种特性,可以让主线程等待子线程的结束。下面以一个模拟运动员比赛的例子加以说明。*/ import
2014-09-27 11:27:58 754
原创 使用spring-amqp发送消息及异步接收消息
前面我们已经学习了发送消息及同步接收消息的例子了。下面我们来看看如何通过Spring配置来实现异步接收消息。 现在我们建立两个WEB项目。发送消息的项目命名为”rabbitmq-demo-producer“ ,异步接受的消息项目名称”rabbitmq-demo-consumer“。 下面来看看rabbitmq-demo-producer项目中发送信息的程序及配置。 Message
2014-09-25 23:33:44 2395
原创 使用spring-amqp发送消息及同步接收消息
通过对spring-amqp看重要类的认识,下面来通过spring-amqp的发送消息及同步接收消息是如何实现的。有兴趣的朋友 可以去spring-amqp官网下载例子。 先来看看HelloWorldConfiguration类Java代码 package org.springframework.amqp.helloworld; import org
2014-09-25 23:32:44 3319
原创 spring的RabbitTemplate 发送Message源码导读
spring的RabbitTemplate 发送Message源码导读
2014-09-25 22:06:19 25171 5
转载 memcached命令行参数说明
1、启动Memcache 常用参数-p 设置TCP端口号(默认不设置为: 11211)-U UDP监听端口(默认: 11211, 0 时关闭) -l 绑定地址(默认:所有都允许,无论内外网或者本机更换IP,有安全隐患,若设置为127.0.0.1就只能本机访问)-d 以daemon方式运行-u
2014-09-23 16:13:00 689
原创 rabbitmq-server与rabbitmqctl
一些基本的管理命令:一步启动Erlang node和Rabbit应用:./rabbitmq-server在后台启动Rabbit node:./rabbitmq-server -detached关闭整个节点(包括应用):./rabbitmqctl stop 怎样仅仅关闭应用而不关闭整个节点呢?因为rabbitmq-server一起启动了节点和应用,
2014-09-22 18:10:38 7495
原创 RabbitMQ 集群与高可用配置
集群概述通过 Erlang 的分布式特性(通过 magic cookie 认证节点)进行 RabbitMQ 集群,各 RabbitMQ 服务为对等节点,即每个节点都提供服务给客户端连接,进行消息发送与接收。 这些节点通过 RabbitMQ HA 队列(镜像队列)进行消息队列结构复制。本方案中搭建 3 个节点,并且都是磁盘节点(所有节点状态保持一致,节点完全对等),只要有任何
2014-09-22 17:19:47 970
转载 ActiveMQ传输文件的几种方式原理与优劣
本文讨论ActiveMQ传输文件的几种方法的原理及其利弊,作为消息发送、直接传输文件、使用ftp或http中转。最后介绍扩展ActiveMQ实现自定义文件传输方式,讨论如何实现高效的文件传输。by kimmking作为消息发送按照JMS规范,为了保证可靠性,所有的消息都应该是发送到broker,然后交由broker来投递的。也即是说其实JMS是不建议或不支持传输文件的。对于比较小的文件
2014-09-20 09:34:05 1540
转载 消息队列软件产品大比拼
导读:本文是从《Message Queue Shootout!》这篇文章翻译而来,译文来自外刊IT评论《消息队列软件产品大比拼》。内容如下:我花了一周的时间评估比较了一下各种消息队列产品,非常的有趣。我做这个事的动机是因为一个客户有一个很高性能需求。他们的消息信息突破了1百万个并发。目前他们使用的是SQL server,并不理想,我建议他们使用消息队列服务器。为了对一些相似的候选产品获
2014-09-20 09:17:56 664
原创 spring rabbitTemplate消息DeliveryMode设置
在用spring和rabbitmq整合 对message的DeliveryMode的设置有两种方式一,在发送消息的时候设置DeliveryMode1,生产者调用rabbimqTemplate发送消息的时候,调用接口 public Message sendAndReceive(final String exchange, final String routingKey, final Me
2014-09-20 09:04:19 16523
转载 语法:MySQL中INSERT INTO SELECT的使用
1. 语法介绍 有三张表a、b、c,现在需要从表b和表c中分别查几个字段的值插入到表a中对应的字段。对于这种情况,可以使用如下的语句来实现:INSERT INTO db1_name (field1,field2) SELECT field1,field2 FROM db2_name 上面的语句比较适合两个表的数据互插,如果多个表就不适应了。对于多个表,
2014-09-19 18:01:48 1626
转载 A quick message queue benchmark: ActiveMQ, RabbitMQ, HornetQ, QPID, Apollo
转载:http://blog.x-aeon.com/2013/04/10/a-quick-message-queue-benchmark-activemq-rabbitmq-hornetq-qpid-apollo/
2014-09-19 17:08:49 1399
转载 mysql show status参数详解
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。Binlog_cache_disk_use 当事务日志比binlog_cache_size大时,他会创建临时文件,该状态表示有多少个事务使用了临时文件Binlog_cache_use 表示有多
2014-09-19 10:30:14 700
转载 innodb的锁时间
观察innodb的锁时间,需要关注:mysqladmin extended-status -r -i 1 -uroot | grep "Innodb_row_lock_time" Innodb_row_lock_current_waits:当前正在等待锁定的数量; Innodb_row_lock_time :从系统启动到现在锁定的总时间长度,单位ms;
2014-09-19 09:48:36 2259
转载 处理百万级以上的数据处理
处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使用!=或 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where nu
2014-09-19 09:42:17 955
转载 mysql性能优化-慢查询分析、优化索引和配置
目录一、优化概述二、查询与索引优化分析1性能瓶颈定位Show命令慢查询日志explain分析查询profiling分析查询 2索引及查询优化三、配置优化1) max_connections2) back_log3) interactive_timeout4)
2014-09-19 09:41:37 645
原创 表分区性能测试
分区类型hash、range、list、keyRANGE分区:基于一个给定连续区间的列值,把多行分配给分区。LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含M
2014-09-19 09:39:05 876
转载 MySQL的sql语句优化问题
本文从八个方面来讲解如何全新优化MySQL数据库性能。 1、选取最适用的字段属性 MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,
2014-09-19 09:32:20 668
转载 mysql分表,分区的区别和联系
一,什么是mysql分表,分区什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上一,先说一下为什么要分表当一张的数据达到几百万时,你查询一次所花的时间会变多,如果有联合查询的话,我想有可能会死在那儿了。分表的目的就在于此
2014-09-19 09:27:28 517
转载 mysql数据库锁定机制
前言为了保证数据的一致完整性,任何一个数据库都存在锁定机制。锁定机制的优劣直接应想到一个数据库系统的并发处理能力和性能,所以锁定机制的实现也就成为了各种数据库的核心技术之一。本章将对MySQL中两种使用最为频繁的存储引擎MyISAM和Innodb各自的锁定机制进行较为详细的分析。 MySQL锁定机制简介数据库锁定机制简单来说就是数据库为了保证数据的一致性而使各种共享资源在被并发访问
2014-09-18 22:59:44 574
转载 mysql和oracle默认的事物机制
一、事务隔离级别ANSI/ISO SQL标准定义了4中事务隔离级别:未提交读(read uncommitted),提交读(read committed),重复读(repeatable read),串行读(serializable)。对于不同的事务,采用不同的隔离级别分别有不同的结果。不同的隔离级别有不同的现象。主要有下面3种现在:1、脏读(dirty read):一个事务可以读取另一个
2014-09-18 22:53:36 1130
原创 mysql锁总结
1,MyISAM在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作 (UPDATE、DELETE、INSERT等)前,会自动给涉及的表加写锁,这个过程并不需要用户干预,因此,用户一般不需要直接用LOCK TABLE命令给MyISAM表显式加锁2,MyISAM表的读和写是串行的,但这是就总体而言的。在一定条件下,MyISAM表也支持查询和插入操作的并发进行3,MyI
2014-09-18 22:32:42 577
转载 Redis作为消息队列与RabbitMQ的性能对比
周末测试了一下RabbitMQ的性能,RabbitMQ是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级的开发。个人认为,在互联网开发中,使用消息队列,更多的因为在高并发环境下,由于来不及同步处理,请求会发生堵塞,所以我们需要一个队列服务来进行异步的处理,在这种场景下,只要队列服务满足最基本
2014-09-18 17:58:49 1735
原创 apollo性能数据
0.9K入队apollo1:520apollo1:680出队apollo1:160apollo1:180入库:600条,实际300多条
2014-09-18 17:57:59 2473
原创 shell编程总结
一,执行shell程序文件有三种方法 (1)#sh file(2)# . file(3)#source file shell常用的系统变量$ # :保存程序命令行参数的数目$ ? :保存前一个命令的返回码$ 0 :保存程序名$ * :以("$1 $2...")的形式保存所有输入的命令行参数$ @ :以("$1""$2"...)的形式保存所有输入的命令行参数
2014-09-18 15:52:32 563
转载 MySQL update 语句的正确用法
以下的文章主要介绍的是MySQL update 语句的实际用法,我们首先是以单表的UPDATE语句来引出实现MySQL update 语句的实际方案,以下就是文章的详细内容描述,望你看完之后会有收获。单表的MySQL UPDATE语句:UPDATE [LOW_PRIORITY] [IGNORE] tbl_name SET col_name1=expr1 [, col_name2=expr
2014-09-18 15:51:27 1037
struts2.0中文帮助手册.chm
2010-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人