RedisTemplate如何连接两个redis?

qq_28904659 2016-06-01 03:04:49
框架是SpringMvc,有两台装有redis的机子,RedisTemplate的话怎么配置连接两台redis?
...全文
2443 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
特里12 2017-05-09
  • 打赏
  • 举报
回复
如果是主从的话,怎么配啊?有没有办法判断当前连接的是哪个redis实例?
Gavin~ 2017-03-21
  • 打赏
  • 举报
回复
楼主你可以运行?为什么我的报错
baidu_36893818 2016-12-01
  • 打赏
  • 举报
回复
我配置两个数据源报错 Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [org.springframework.data.redis.connection.RedisConnectionFactory] is defined: expected single matching bean but found 2: jedisConnectionFactory,jedisConnectionFactory1 at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1054) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:813) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE] at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741) ~[spring-beans-4.1.6.RELEASE.jar:4.1.6.RELEASE] ... 42 common frames omitted
baidu_36893818 2016-12-01
  • 打赏
  • 举报
回复
你好,我想问下你的两个数据源怎么配置的
qq_28904659 2016-06-01
  • 打赏
  • 举报
回复
谢谢,非常感谢!
oxcow 2016-06-01
  • 打赏
  • 举报
回复


<bean id="redisTemplate1" class="org.springframework.data.redis.core.RedisTemplate" p:connection-factory-ref="jedisConnectionFactory"/>

<bean id="redisTemplate2" class="org.springframework.data.redis.core.RedisTemplate" p:connection-factory-ref="jedisConnectionFactory"/>



@Resource(name = "redisTemplate1")
RedisTemplate redisTemplate1;

@Resource(name = "redisTemplate2")
RedisTemplate redisTemplate2;

或者

@Autowired
@Qualifier("redisTemplate1")
RedisTemplate redisTemplate1;

@Autowired
@Qualifier("redisTemplate2")
RedisTemplate redisTemplate2;
oxcow 2016-06-01
  • 打赏
  • 举报
回复
引用 4 楼 qq_28904659 的回复:
配置两个数据源后 @Autowired RedisTemplate redisTemplate; redisTemplate.opsForValue(); 这个用的那个数据源?
你既然有2哦不同的redisTemple 那你注入的时候就需要指明用那一个。用
@Qualifie
注明下
oxcow 2016-06-01
  • 打赏
  • 举报
回复
引用 3 楼 oxcow 的回复:
[quote=引用 2 楼 qq_28904659 的回复:] 不是主从关系,是两个实例。我举个假设吧,我在阿里云有两个机器IP分别 为 A:120.120.120.120 B:121.121.121.121 都装的redis,有个项目要同时用到这两部机器的redis,怎么配?我使用RedisTemplate来操作redis的,怎么用RedisTemplate操作两个不同的redis呢?
那说白了就是你有2个数据源了! 你配置2个RedisTemplate就行了,然后根据需要使用不同的就行了[/quote] 可以看下 http://docs.spring.io/spring-data/redis/docs/1.6.4.RELEASE/reference/html/#redis:template
qq_28904659 2016-06-01
  • 打赏
  • 举报
回复
配置两个数据源后 @Autowired RedisTemplate redisTemplate; redisTemplate.opsForValue(); 这个用的那个数据源?
oxcow 2016-06-01
  • 打赏
  • 举报
回复
引用 2 楼 qq_28904659 的回复:
不是主从关系,是两个实例。我举个假设吧,我在阿里云有两个机器IP分别 为 A:120.120.120.120 B:121.121.121.121 都装的redis,有个项目要同时用到这两部机器的redis,怎么配?我使用RedisTemplate来操作redis的,怎么用RedisTemplate操作两个不同的redis呢?
那说白了就是你有2个数据源了! 你配置2个RedisTemplate就行了,然后根据需要使用不同的就行了
qq_28904659 2016-06-01
  • 打赏
  • 举报
回复
不是主从关系,是两个实例。我举个假设吧,我在阿里云有两个机器IP分别 为 A:120.120.120.120 B:121.121.121.121 都装的redis,有个项目要同时用到这两部机器的redis,怎么配?我使用RedisTemplate来操作redis的,怎么用RedisTemplate操作两个不同的redis呢?
oxcow 2016-06-01
  • 打赏
  • 举报
回复
引用 楼主 qq_28904659 的回复:
框架是SpringMvc,有两台装有redis的机子,RedisTemplate的话怎么配置连接两台redis?
两个redis实例? 这两个实例之间有关系没?主从还是怎么的? 还是说你只是想配置连接两个redis? 如果是这种情况的话 直接配置2套不就行了。

<bean id="lettuceConnectionFactory"
          class="org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory"
          p:hostName="${redis.server.host}"
          p:port="${redis.server.port}"/>

    <bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"
          p:connectionFactory-ref="lettuceConnectionFactory"/>
内容简介: Redis的的是完全开源免费的,遵守BSD协议,是一个高性能的键值数据库。是当前最热门的的的NoSql数据库之一,也被人们称为数据结构服务器。本课程从Redis基本数据类型开始,了解不同数据类型的用法和底层实现 。进一步学习Redis的一些高级特性与工作原理。了解Redis在分布式环境中的工作方式,和实际项目的使用及问题解决。 为什么学Redis? 原因很简单,快!这个问题在大并发,高负载的网站中必须考虑.redis数据库中的所有数据都存储在内存中。由于内存的读写速度远快于硬盘,因此Redis在性能上对比其他基于硬盘存储的数据库有非常明显的优势。项目中使用Redis,主要是从两个角度去考虑:性能状语从句:并发。当然,Redis的的的还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件代替,并不是非要使用Redis的的的。因此,这个问题主要从性能和并发两个角度去答。性能:我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存,这样,后面的请求就去缓存中读取,请求使得能够迅速响应。 并发: 在大并发的情况下,所有的请求直接访问数据库,数据库会出现连接异常。这个时候,就需要使用的的Redis的做一个缓冲操作,让请求先访问到的Redis的的,而不是直接访问数据库。redis优势:1.运行在内存,速度快官方号称支持并发11瓦特读操作,并发8瓦特写操作,可以说是相当彪悍了。2.数据虽在内存,但是提供了持久化的支持,即可以将内存中的数据异步写入到硬盘中,同时不影响继续提供服务3.支持数据结构丰富(string(字符串),list(链表),set(集合),zset(sorted set - 有序集合))和Hash(哈希类型,md5加密出来的那个串)课程大纲: 为了让大家快速系统了解Redis核心知识全貌,我为你总结了「Redis核心框架图」,帮你梳理学习重点,建议收藏!!

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧