Redis单机配置以及集群(sentinel、jediscluster)配置
最近一直在使用Redis作为缓存数据库,在使用当中,刚开始没有注意配置问题。
1、纯粹的注入单机模式
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="1" />
<property name="maxTotal" value="5" />
<property name="blockWhenExhausted" value="true" />
<property name="maxWaitMillis" value="30000" />
<property name="testOnBorrow" value="true" />
</bean> <bean id="redisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="此处填写redis-host" />
<property name="port" value="此处填写redis-port" />
<property name="database" value="1" />
<property name="poolConfig" ref="jedisPoolConfig" />
<property name="usePool" value="true" />
<property name="timeout" value="10000"></property>
</bean> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="redisConnectionFactory" />
</bean> <alias name="redisTemplate" alias="cacheRedisTemplate"/>
<alias name="redisTemplate" alias="transportRedisTemplate"/> <!-- 使用StringRedisTemplate配置 -->
<bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="redisConnectionFactory" />
</bean>
2、Redis集群模式,集群模式又分为两种,哨兵模式实现 和 RedisClusterConfiguration实现,配置如下
<bean id="redisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<constructor-arg index="0"> <!-- 哨兵模式:RedisSentinelConfiguration,也是可以支持集群
<bean class="org.springframework.data.redis.connection.RedisSentinelConfiguration">
<constructor-arg>
<set>
<value>www.baidu.com:26379</value>
<value>www.cnblogs.com:26479</value>
</set>
</bean>
--> <!-- RedisClusterConfiguration, -->
<bean class="org.springframework.data.redis.connection.RedisClusterConfiguration">
<constructor-arg>
<list>
<value>127.0.0.1:8001</value>
<value>127.0.0.2:8002</value>
<value>127.0.0.3:8003</value>
<value>127.0.0.4:8004</value>
<value>127.0.0.5:8005</value>
<value>127.0.0.6:8006</value>
</list>
</constructor-arg>
<property name="maxRedirects" value="5" />
</bean> </constructor-arg>
<constructor-arg index="1">
<bean class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="100"/>
<property name="maxIdle" value="10"/>
<property name="minIdle" value="1"/>
<property name="maxWaitMillis" value="30000"/>
</bean>
</constructor-arg>
</bean> <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
<property name="connectionFactory" ref="redisConnectionFactory" />
</bean> <alias name="redisTemplate" alias="cacheRedisTemplate"/> <alias name="redisTemplate" alias="transportRedisTemplate"/> <bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">
<property name="connectionFactory" ref="redisConnectionFactory" />
</bean>
哨兵模式主要是监听、检测 master 的状态,如果监听到状态异常,则使用M-S进行切换,将其中的Slave作为master,将master(异常)作为Slave,转换之后相对应的配置文件也会随着改变;
其他相关参考:
https://blog.csdn.net/donggang1992/article/details/50981341
https://blog.csdn.net/zhousenshan/article/details/51822253
Redis单机配置以及集群(sentinel、jediscluster)配置的更多相关文章
- Redis单机安装以及集群搭建
今天主要来看一下Redis的安装以及集群搭建(我也是第一次搭建). 环境:CentOS 7.1,redis-5.0.7 一.单机安装 1.将Redis安装包放置服务器并解压 2.进入redis安装目录 ...
- redis 单机模拟 cluster集群
一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心 ...
- Redis 3.2.8集群+Sentinel部署
Redis3.2.8集群搭建 采用官方推荐的三主三从分片方案,本例中所有节点部署在一台主机上. 软件安装: tar zxvf redis-3.2.8.tar.gz cd redis-3.2.8 ma ...
- redis单机上部署集群
一.安装单机redis redis的安装:版本至少是3.2.8及其以上,这里以3.2.8版本为例说明 1.安装redis wget http://download.redis.io/releases ...
- Redis单机多节点集群实验
第一步:安装Redis 前面已经安装过了 不解释, Reids安装包里有个集群工具,要复制到/usr/local/bin里去 cp redis-3.2.9/src/redis-trib.rb /usr ...
- Redis安装(单机及各类集群,阿里云)
Redis安装(单机及各类集群,阿里云) 前言 上周,我朋友突然悄悄咪咪地指着手机上的一篇博客说,这是你的博客吧.我看了一眼,是之前发布的<Rabbit安装(单机及集群,阿里云>.我朋友很 ...
- Redis 安装、配置、集群
1. Redis的安装 1.1. Redis的安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: ...
- 配置spark集群
配置spark集群 1.配置spark-env.sh [/soft/spark/conf/spark-env.sh] ... export JAVA_HOME=/soft/jdk 2.配置slaves ...
- Redis学习笔记之Redis单机,伪集群,Sentinel主从复制的安装和配置
0x00 Redis简介 Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure server). Redis的键值 ...
- 通过jedis连接redis单机成功,使用redis客户端可以连接集群,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool
一,问题描述: (如题目)通过jedis连接redis单机成功,使用JedisCluster连接redis集群一直报Could not get a resource from the pool 但是使 ...
随机推荐
- Git:git diff 命令详解
工作目录 vs 暂存区 $ git diff <filename> 意义:查看文件在工作目录与暂存区的差别.如果还没 add 进暂存区,则查看文件自身修改前后的差别.也可查看和另一分支的区 ...
- Python学习笔记——发邮件
参考:Python3实现163邮箱SMTP发送邮件 1.首先需要注册一个网易的邮箱,开启smtp服务,并使用其授权码 2.发送邮件的Python脚本 #!/usr/bin/python # -*- c ...
- python让实例作用于for循环并当做list来使用
python如果想让一个类被用于for....in 循环,类型list和tuple那样,可以实现__iter__方法. 这个方法返回一个迭代对象,python的for循环就会不断调用该迭代对象的ne ...
- 关于Kafka broker IO的讨论
Apache Kafka是大量使用磁盘和页缓存(page cache)的,特别是对page cache的应用被视为是Kafka实现高吞吐量的重要因素之一.实际场景中用户调整page cache的手段并 ...
- layui---表单验证
使用layui,使用它的表单验证也是比不可少的,下面就来总结下: <!-- 不用form 用div也可以 --> <form class="layui-form" ...
- oracle 存储过程分页
将分页的存储过程封装到包中,包规范 create or replace package pkg_query as type cur_query is ref cursor; PROCEDURE prc ...
- java学习之路--StringBuffer常见的功能和实例
---恢复内容开始--- 储存 StringBuffer append();将指定数据作为参数添加到已有数据尾处 StringBuffer insert(index,数据):可以将数据插到指定的ind ...
- upstream模块介绍
upstream模块介绍 Nginx的负载均衡功能依赖于ngx_http_upsteam_module模块,所支持的代理方式包括proxy_pass.fastcgi_pass.memcached_pa ...
- 严重: A child container failed during start的问题解决方法
找到tomcat中的server.xml中的文件, 将图中阴影的部分注释掉,即可.
- 渗透常用dos命令,http协议及数据提交方式。 hack 某某
dir查看目录 cd 切换目录 strat www.xxx.com 打开网页 del 删除文件 cls 清屏幕命令 ipconfig 查看ip地址 netstat -an 显示网络连接.路由 ...