`
文章列表

Spring整合redis

pom.xml <dependencies> <!-- Spring Data - Redis Library --> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.4.0.RELEASE</version> </dependency> <!- ...
方案说明 两台机器(称为A和B),以统一的VIP对外提供服务 1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A) 2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务 3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始把B的数据同步过来(A is slave of B) 4.依此循环 也就是说: 当两台机器都正常时,一个为master,一个为slave; 当master挂掉时,slave升级为master; 当原master ...
架构图 机器说明 10.75.201.67:keepalived + twemproxy 10.75.201.66:keepalived + twemproxy 初始化时,VIP绑定在10.75.201.67 10.75.201.26:ClusterA(redis master A + redis slave A1) 10.75.201.68:ClusterB(redis master B + redis slave B1) 如果机器充足的话,redis master A与redis slave A1部署在两台机器上(redis master B + redis slav ...
我们的应用MyApp不支持集群,但要求双机单活(两台机器:master和slave): 1.正常情况下,只有master启动MyApp并提供服务 2.当master发生故障时,slave自动启动本机的MyApp,同时虚拟IP漂移至slave,保持对外提供服务的IP和端口不变 F5据说也能满足上面的需求,但F5的通常用法都是双机双活,单活的话还没研究过 服务器资源 10.75.201.2:虚拟IP(VIP),与master和slave在同一子网;以此IP对外暴露服务 10.75.201.67(master):安装MyApp+ Haproxy + Keepalived 10.75.201.6 ...
Joda Time的介绍可以参考这篇文章: http://www.ibm.com/developerworks/cn/java/j-jodatime.html 工作中也常常用到Joda Time,为了避免每次使用都查API,记录一下常用的用法:     /** * DateTime变化(增减) */ @Test public void testChange() { DateTime dateTime = new DateTime(2014, 1, 2, 10, 11, 12); //得 ...
在 linux 下安装软件就是折腾,首先是测试机不能上外网要找运维开通,开通后发现测试机的 yum 不能使用于是又要配置 yum 源,最后安装 rabbitmq 时也尝试了两种方法最后才安装成功 机器版本: [root@redhat1 rabbitmq]# lsb_release LSB Version: :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch ...
首先看看 WeakReference wiki 上 Weak reference 的一个例子: public class ReferenceTest { public static void main(String[] args) throws InterruptedException { WeakReference r = new WeakReference(new String("I'm here")); WeakReference sr = new We ...
《TCP/IP 详解,卷1:协议》是经典,但不适合初学者。它更像是一本字典,适合学过网络的人温习和查阅一些记不清的概念。 这本书,我看的版本是机械工业出版社、范建华等译的。这本书在我看来,翻译得一般,甚至有明显的错误。如果英文熟练,看原版更好:http://pcvr.nl/tcpip/ 下面是我的一些笔记,包括我看书时有疑问的地方,也有对该书的吐槽,有不对的地方请指正: 1. 链路层数据报称为 frame, IP 层数据报称为 package, TCP 数据报称为 segment, UDP 称为 datagram。这些数据报都是包含了该层的首部。 2. 为什么 IP 和 TCP 有“首部 ...
今天发现,create table 时,MySQL 4.1有时会把 char 自动转换成 varchar 测试举例: CREATE TABLE `varcharLessThan4` ( `lastName` varchar(3) ) ; mysql> desc varcharLessThan4; +----------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------+---- ...
第一个问题,函数是应当返回null还是长度为0的数组(或集合)? 第二个问题,函数输入参数不当时,是异常还是返回null? 先看第一个问题 有两个约定我觉得应当遵守: 1.返回零长度的数组或集合而不是null(详见《Effective Java》) 理由就是,如果返回empty,就可以少了很多not-null判断: List<Person> list = queryPerson(); if (list != null) { for (Person p : list) { //do something } } 如果queryPerson永不返回null ...
以FileSystemXmlApplicationContext为例,把Spring IoC容器的初始化流程走一遍: ApplicationContext context = new FileSystemXmlApplicationContext ("C:/Users/ZARA/workspace/HelloSpring/src/Beans.xml"); <beans> <import resource="classpath:config/spring/that-other-xml-conf.xml" ...
JdbcTemplate中有两个可能会混淆的queryForObject方法: 1. Object queryForObject(String sql, Object[] args, Class requiredType) 2. Object queryForObject(String sql, Object[] args, RowMapper rowMapper) 第1个方法是只查一列的,参数“requiredType”不可以是自定义的类 如果要把查询结果封装为自定义的类,需要采用第2个方法 例如: //只查询一列:name String sql = "SELECT ...
Spring JdbcTemplate的batch操作最后还是利用了JDBC提供的方法,Spring只是做了一下改造和封装 JDBC的batch操作: String sql = "INSERT INTO CUSTOMER " + "(CUST_ID, NAME, AGE) VALUES (?, ?, ?)"; List<Customer> customers = getCustomersToInsert(); PreparedStatement pstmt = conn.prepareState ...
/** 二维数组 对角线输出 两个方向 例如对于数组: { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }, { 13, 14, 15, 16 }, slash方向输出: 1 5 2 9 6 3 13 10 7 4 14 11 8 15 12 16 backslash输出: 4 3 8 2 7 12 1 6 11 16 5 10 15 9 14 13 数组的行数和列数可以不相等,但同一行的元素个数必须相等,称为"矩阵"更合适 * ...
今天在看Spring 3.0.0.RELEASE的源码,发现PropertyPlaceholderHelper的一个bug 当时觉得奇怪,上网一搜,果然是个bug,不过早就有人发现了,且已经修复: 详见:http://forum.spring.io/forum/spring-projects/container/88107-propertyplaceholderhelper-bug PropertyPlaceholderHelper的另一个Bug( SPR-5369)就没那么好理解了,后来还是在测试类PropertyPlaceholderHelperTests.java中找到例子, 一步一步跟 ...
Global site tag (gtag.js) - Google Analytics