`
y806839048
  • 浏览: 1126271 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

java使用 redis-sentinel

阅读更多

redis.properties:

session.time.out=900

#redis.ip=127.0.0.1

#redis.port=6379

 

# Redis settings  

#sentinel1\u7684IP\u548C\u7AEF\u53E3  

im.hs.server.redis.sentinel1.host=192.168.13.62

im.hs.server.redis.sentinel1.port=26382

#sentinel2\u7684IP\u548C\u7AEF\u53E3  

im.hs.server.redis.sentinel2.host=192.168.13.63

im.hs.server.redis.sentinel2.port=26382

#sentinel\u7684\u9274\u6743\u5BC6\u7801  

im.hs.server.redis.sentinel.masterName=redis-sentinel(要和sentinel中的名字一样)

#im.hs.server.redis.sentinel.password=hezhixiong  

#\u6700\u5927\u95F2\u7F6E\u8FDE\u63A5\u6570  

im.hs.server.redis.maxIdle=500  

#\u6700\u5927\u8FDE\u63A5\u6570\uFF0C\u8D85\u8FC7\u6B64\u8FDE\u63A5\u65F6\u64CD\u4F5Credis\u4F1A\u62A5\u9519  

im.hs.server.redis.maxTotal=5000  

im.hs.server.redis.maxWaitTime=1000  

im.hs.server.redis.testOnBorrow=true  

#\u6700\u5C0F\u95F2\u7F6E\u8FDE\u63A5\u6570\uFF0Cspring\u542F\u52A8\u7684\u65F6\u5019\u81EA\u52A8\u5EFA\u7ACB\u8BE5\u6570\u76EE\u7684\u8FDE\u63A5\u4F9B\u5E94\u7528\u7A0B\u5E8F\u4F7F\u7528\uFF0C\u4E0D\u591F\u7684\u65F6\u5019\u4F1A\u7533\u8BF7\u3002  

im.hs.server.redis.minIdle=300 

 

 

spring-redis.xml:

 

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util" xmlns:aop="http://www.springframework.org/schema/aop"

xsi:schemaLocation="http://www.springframework.org/schema/beans

      http://www.springframework.org/schema/beans/spring-beans-3.0.xsd

      http://www.springframework.org/schema/context

      http://www.springframework.org/schema/context/spring-context-3.0.xsd

      http://www.springframework.org/schema/mvc

      http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd

        http://www.springframework.org/schema/tx

        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd

        http://www.springframework.org/schema/aop

    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd

        http://www.springframework.org/schema/util 

      http://www.springframework.org/schema/util/spring-util-3.0.xsd">

 

<context:annotation-config />

<context:component-scan base-package="core" />

  <!--    <bean id="propertyConfigurer2" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

<property name="locations">

<list>

 

</list>

</property>

</bean> -->

 

 

<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">

<property name="maxIdle" value="5" />

<property name="maxTotal" value="10" />

<property name="blockWhenExhausted" value="true" />

<property name="maxWaitMillis" value="30000" />

<property name="testOnBorrow" value="true" />

</bean>

 

<bean id="sentinelConfiguration"  

        class="org.springframework.data.redis.connection.RedisSentinelConfiguration">  

        <property name="master">  

            <bean class="org.springframework.data.redis.connection.RedisNode">  

                <property name="name" value="${im.hs.server.redis.sentinel.masterName}"></property>  

            </bean>  

        </property>  

        <property name="sentinels">  

            <set>  

                <bean class="org.springframework.data.redis.connection.RedisNode">  

                    <constructor-arg name="host"  

                        value="${im.hs.server.redis.sentinel1.host}"></constructor-arg>  

                    <constructor-arg name="port"  

                        value="${im.hs.server.redis.sentinel1.port}"></constructor-arg>  

                </bean>  

                <bean class="org.springframework.data.redis.connection.RedisNode">  

                    <constructor-arg name="host"  

                        value="${im.hs.server.redis.sentinel2.host}"></constructor-arg>  

                    <constructor-arg name="port"  

                        value="${im.hs.server.redis.sentinel2.port}"></constructor-arg>  

                </bean>  

            </set>  

        </property>  

    </bean>  

  

    <bean id="jedisConnectionFactory"  

        class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:password="abcd_123456">  //集群的时候这里要用密码才能连接,之后正常使用

        <constructor-arg name="sentinelConfig" ref="sentinelConfiguration"></constructor-arg>  

<!--         <constructor-arg name="poolConfig" ref="jedisPoolConfig"></constructor-arg>  

 -->    </bean>  

 

<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">

<property name="connectionFactory" ref="jedisConnectionFactory" />

<property name="keySerializer">

<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />

</property>

<property name="valueSerializer">

<bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />

</property>

<property name="hashKeySerializer">

<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />

</property>

<property name="hashValueSerializer">

<bean class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />

</property>

</bean>

<bean id="redisTemplateDelegate" class="core.session.manager.RedisTemplateDelegate">

<property name="redisTemplate" ref="redisTemplate" />

</bean>

 

 

</beans>

 

 

java代码:

 

 @Autowired(required=false)

 private RedisTemplateDelegate<String, Map<String, Object>> redisService;

 

 

 

public RedisTemplateDelegate<String, Map<String, Object>> getRedisService() {

return redisService;

}

 

 

public void setRedisService(RedisTemplateDelegate<String, Map<String, Object>> redisService) {

this.redisService = redisService;

}

 

 

//Map<String,Object> ma =new HashMap<String,Object>();

//Map<String,Object> maq =new HashMap<String,Object>();

//ma.put("11", 22);

//redisService.set("kk", ma);

//maq=redisService.get("kk");

//maq.get("11");

 

 

当然如果不用spring集成的话java写法不一样,需要代码中写密码

 

参看:

http://www.cnblogs.com/qlong8807/p/5893422.html

 

 

分享到:
评论

相关推荐

    redis 哨兵(sentinel)与springboot集成实战-redis-sentinel.zip

    a) 添加依赖:在SpringBoot的`pom.xml`文件中添加Redis Sentinel的相关依赖,如`spring-boot-starter-data-redis`和`redisson`(一个支持Redis Sentinel的Java客户端)。 b) 配置Redis Sentinel:在`application....

    Redis-Sentinel-Client

    在这个特定的项目“Redis-Sentinel-Client”,我们看到它是一个基于 Java 实现的客户端,用于与 Redis Sentinel 集群进行交互,以获取并连接到 Redis 主节点。 **Redis Sentinel 系统** Redis Sentinel 是一个...

    redis-sentinel-demo:redis-sentinel示例,实现高可用(Auto Failover

    redis-sentinel-demo redis-sentinel示例,实现高可用(Auto Failover:自动故障转移),主从自动切换.包含redis配置,redis-sentinel配置,以及Java示例代码. 参考原帖地址:...

    redis-6.2.14-win-amd64

    1. 开发者可以使用各种编程语言的Redis客户端库,如Python的`redis-py`,Java的`Jedis`等,与Redis服务器交互。 2. 设计和实现数据模型,根据业务需求选择合适的数据类型。 3. 利用Redis的事务功能保证数据操作的...

    Redis-x64-3.0.504

    在Windows环境下,Redis-x64-3.0.504可以通过图形界面工具如Redis Desktop Manager进行管理和调试,也可以通过命令行交互或者编程语言(如Python、Java、C#等)的Redis客户端进行操作。 总的来说,Redis-x64-3.0....

    Java-redis-demo

    在这个"Java-redis-demo"项目中,我们将会探讨如何在Java环境中集成和使用Redis,以便利用它的强大功能。以下是关于Java与Redis交互的一些关键知识点: 1. **Jedis库**: Java连接Redis最常用的客户端库是Jedis。它...

    Redis-Windows-32bit-master

    10. **扩展性**:当单个Redis实例无法满足性能需求时,可以考虑使用哨兵(Sentinel)系统进行高可用性配置,或者使用Cluster进行数据分片,实现分布式存储。 综上所述,"Redis-Windows-32bit-master"涵盖了在32位...

    redis-tomcat8以上集群所需要的jar :tomcat-redis-session-manager-master 等

    Tomcat作为广泛使用的Java应用服务器,提供了多种方式来实现Session共享,其中一种就是通过集成Redis来管理Session。本篇将详细讲解在Tomcat 8及以上版本中,如何利用`tomcat-redis-session-manager`实现基于Redis的...

    redis-client-windows

    了解如何在.NET、Java、Python等平台上集成Redis客户端库,以及如何在代码中调用Redis操作,是开发者必备的技能。 10. **最佳实践**:使用Redis时,遵循最佳实践可以避免常见问题,例如避免使用过多的键,定期清理...

    redis-session-manager-redis-session-manager-2.0.3.zip

    1. 添加Redis客户端库到项目中,如Java的Jedis或C#的StackExchange.Redis。 2. 配置应用的session存储,指定Redis服务器的地址、端口以及可能的密码。 3. 如果需要,设置过期策略、会话序列化方式等高级选项。 **...

    redis-4.0.7.tar.gz

    对于Java开发者,可以使用Jedis库来与Redis交互。Jedis是Java的Redis客户端,提供了丰富的API来操作Redis的数据。要使用Jedis,你需要: 1. 在项目中添加Jedis的依赖,如在Maven中添加: ```xml &lt;groupId&gt;redis....

    Redis-x64-3.2.100的安装版java可用

    Redis 是一个开源的(BSD 许可)内存数据结构...Redis 具有高性能,并且提供复制、Lua 脚本、LRU 驱逐、事务和不同级别的磁盘持久性,还通过 Redis Sentinel 提供高可用服务,并提供自动分区功能通过 Redis Cluster。

    redis-64.3.0.503.rar

    在Java中使用Redis,通常会借助如Jedis或Lettuce这样的客户端库。Jedis是较早的Redis Java客户端,简单易用,而Lettuce则是更现代化的客户端,提供了非阻塞IO和Netty网络库的支持,适合大规模并发环境。 使用Jedis...

    redis-session-manager-redis-session-manager-2.1.1.zip

    4. 复制与集群:Redis支持主从复制和哨兵(Sentinel)系统,以及集群(Cluster)模式,能够提供高可用性和数据安全性。 5. 跨应用共享:由于Redis是集中式的,所以同一用户的Session数据可以在多台服务器之间共享,...

    Redis-3.pdf

    - **10.3 Java 客户端 Jedis**:使用 Java 编写的 Redis 客户端,支持集群模式。 - **10.4 C++ 客户端 r3c**:适用于 C++ 应用程序的 Redis 集群客户端。 #### 十一、节点管理 - **11.1 添加新主节点**:通过 `...

    redis-3.0.0.tar.gz等安装包

    例如,Java应用程序通过Jedis与Redis交互,利用`commons-pool2`优化连接池,同时使用图形化界面工具进行监控和调试。对于开发和运维团队,这将极大地提升工作效率和系统稳定性。在实际项目中,还需要考虑配置文件的...

    redis-session-manager-redis-session-manager-2.2.1.zip

    3. **高可用性**:Redis支持主从复制和哨兵(Sentinel)监控,可以自动发现并处理故障,确保服务的连续性。 4. **可扩展性**:随着应用规模的增长,可以通过增加Redis实例来扩展存储能力,而不会影响到现有的会话。 ...

    redis-2.8.19主从配置+sentinel主从切换+Java源码案例

    Redis是一款高性能的键值对数据库,常用于缓存和数据持久化。在2.8.19版本中,它提供了主从复制...通过实践这些代码,开发者可以更好地理解和掌握Redis的主从配置、Sentinel的使用以及如何在Java应用程序中集成Redis。

    spring + redis + sentinel 配置

    在实际应用中,你可以使用这些模板执行常见的Redis操作,如设置键值、获取值、执行哈希操作等。 在部署环境中,确保所有相关的Redis实例、Sentinel节点以及Spring应用都能正常通信,以实现故障转移和负载均衡。定期...

Global site tag (gtag.js) - Google Analytics