文档章节

Redis Sentinel Plugin For JFinal

Jim_Ai
 Jim_Ai
发布于 2016/07/12 18:52
字数 376
阅读 362
收藏 3

我先在开发本地搭Redis主从服务器,各自在redis.windows.conf中进行配置。

主服务器:192.168.6.88:6379 开启requirepass 服务器密码,masterauth 服务器密码,maxmemory 209715200,maxheap 314572800

从服务器:192.168.6.88:6380 开启requirepass 服务器密码,masterauth 服务器密码,maxmemory 209715200,maxheap 314572800

从服务器比主服务器多一行配置:slaveof 192.168.6.88 6379。

分别启动redis-server redis.windows.conf,启动成功。

可以通过info Replication命令查看一下主从服务连接状态

如果在使用中如下报错信息:BeginForkOperation: system error caught. error code=0x000005af 。是maxmemory和maxheap没有设置的原因。可以在启动参数中加入,也可以如上在配置文件中配置。

好了,接下来该Redis sentinel上场了。先要作成sentinel.conf文件

启动master-sentinel

下面开始对JFinal开始扩展。

1、作成RedisSentinelPlugin。代码见http://www.oschina.net/code/snippet_2621890_57963

2、com.jfinal.plugin.redis.Cache中的JedisPool类型修正为Pool<Jedis>

3、启动时配置插件

			String redisIp = getProperty(ConstantInit.config_redis_ip);
			Integer redisPort = getPropertyToInt(ConstantInit.config_redis_port);
			String redisPassword = getProperty(ConstantInit.config_redis_password);
			Set<HostAndPort> sentinels = new HashSet<HostAndPort>();
			HostAndPort hostAndP = new HostAndPort(redisIp, redisPort);			
			sentinels.add(hostAndP);
			RedisSentinelPlugin redisSentinelPlugin = new RedisSentinelPlugin(ConstantCache.cache_name_redis_system, "mymaster",sentinels,redisPassword);		
			plugins.add(redisSentinelPlugin);

然后开始测试:关闭master。发现slave自动转为master。同时系统依旧可用。启动旧master,旧master成为新master的slave。

至此开发环境中完成,可尝试在生产环境中配置多台slave和多台sentinel。

© 著作权归作者所有

共有 人打赏支持
Jim_Ai
粉丝 3
博文 15
码字总数 7002
作品 0
虹口
部门经理
私信 提问
需要使用jfinal中的JedisPlugin的一些问题

@Jfinal 现在项目用的jfinal版本是1.9的,需要用到redis缓存。请问需要哪些引入哪些pom依赖。另外现在引入了jedis和common-pool现在报下面这个错误 严重: Exception starting filter jfinal ...

raysunnnn
2016/12/13
377
0
请教一下jfinal-demo的数据库初始化问题

@Dreampie 你好,想跟你请教个问题: 我在jfinal-demo中使用cn.dreampie:flyway-maven-plugin:1.0:migrate启动,结果报错: [info] location:filesystem:D:\WorkZone\GitHub\jfinal-demo/src/m......

牛奶拌饭
2015/07/20
1K
1
jfinal使用maven-tomcat7-plugin启动,无法初始化配置文件

我尝试使用maven的tomcat-plugin启动jfinal,但是用于jfinal的配置文件没有被初始化(在配置文件中我尝试使用System.out.println打印一些信息,但是使用该tomcat-plugin无法看到打印结果,但是...

风花狂月
2017/01/05
387
5
JFinal可以与阿里的dubbo,负载均衡的nginx对接么?Jfinal适合用来做大型项目么?

@JFinal 你好,想跟你请教个问题: JFinal开发效率挺不错的。我们的应用将来的访问量会很大,肯定要考虑软负载、缓存、分布式服务等技术架构,JFinal可以与阿里的dubbo, nginx,redis对接么...

jason9988
2014/11/12
5.6K
6
JFinal Extensions 1.0 发布,JFinal 扩展

Jfinal-ext是对java极速web框架 jfinal 的一个扩充,主要利用jfinal的plugin机制集成各种第三方框架,像spring一样,简化开发者的学习应用成本,使用时请将jfinal.jar先引入工程。 Jfinal-e...

绝望的八皮
2012/10/14
1K
13

没有更多内容

加载失败,请刷新页面

加载更多

搭建git服务器————gitlab

github毕竟是公开的,而私有仓库又得花钱买。所以我们可以想办法搭建一个私有的,只自己公司使用的。Gitlab是个不错的选择。在介绍它之前,先讲述一下命令行的git服务器 找一台服务器,首先要...

chencheng-linux
9分钟前
1
0
用Redis实现“秒杀”系统

导论 曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。 秒杀系统的架构设计 秒杀系统,是典型...

小刀爱编程
23分钟前
7
0
GO redis 相关操作

在gopath 目录下安装 go get github.com/garyburd/redigo/redis package mainimport ("fmt""github.com/garyburd/redigo/redis")//定义一个全局链接池变量var pool *redis.Pool//......

汤汤圆圆
今天
20
0
java8性特性,常用的lambda表达式

1、抽取多个对象中的某个属性,用数组接收 List<Student> students = new ArrayList<>(); List<String> names =students.stream().map(Student::getName).collect(Collectors.toList()); 2、......

Boss-x
今天
19
0
flutter 子组件与父组件

无论是子组件还是父组件,任何时候initState()只执行一次,如果需要判断 就在build里面进行,不然无效的。

大灰狼wow
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部