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
相关推荐
a) 添加依赖:在SpringBoot的`pom.xml`文件中添加Redis Sentinel的相关依赖,如`spring-boot-starter-data-redis`和`redisson`(一个支持Redis Sentinel的Java客户端)。 b) 配置Redis Sentinel:在`application....
在这个特定的项目“Redis-Sentinel-Client”,我们看到它是一个基于 Java 实现的客户端,用于与 Redis Sentinel 集群进行交互,以获取并连接到 Redis 主节点。 **Redis Sentinel 系统** Redis Sentinel 是一个...
redis-sentinel-demo redis-sentinel示例,实现高可用(Auto Failover:自动故障转移),主从自动切换.包含redis配置,redis-sentinel配置,以及Java示例代码. 参考原帖地址:...
1. 开发者可以使用各种编程语言的Redis客户端库,如Python的`redis-py`,Java的`Jedis`等,与Redis服务器交互。 2. 设计和实现数据模型,根据业务需求选择合适的数据类型。 3. 利用Redis的事务功能保证数据操作的...
在Windows环境下,Redis-x64-3.0.504可以通过图形界面工具如Redis Desktop Manager进行管理和调试,也可以通过命令行交互或者编程语言(如Python、Java、C#等)的Redis客户端进行操作。 总的来说,Redis-x64-3.0....
在这个"Java-redis-demo"项目中,我们将会探讨如何在Java环境中集成和使用Redis,以便利用它的强大功能。以下是关于Java与Redis交互的一些关键知识点: 1. **Jedis库**: Java连接Redis最常用的客户端库是Jedis。它...
10. **扩展性**:当单个Redis实例无法满足性能需求时,可以考虑使用哨兵(Sentinel)系统进行高可用性配置,或者使用Cluster进行数据分片,实现分布式存储。 综上所述,"Redis-Windows-32bit-master"涵盖了在32位...
Tomcat作为广泛使用的Java应用服务器,提供了多种方式来实现Session共享,其中一种就是通过集成Redis来管理Session。本篇将详细讲解在Tomcat 8及以上版本中,如何利用`tomcat-redis-session-manager`实现基于Redis的...
了解如何在.NET、Java、Python等平台上集成Redis客户端库,以及如何在代码中调用Redis操作,是开发者必备的技能。 10. **最佳实践**:使用Redis时,遵循最佳实践可以避免常见问题,例如避免使用过多的键,定期清理...
1. 添加Redis客户端库到项目中,如Java的Jedis或C#的StackExchange.Redis。 2. 配置应用的session存储,指定Redis服务器的地址、端口以及可能的密码。 3. 如果需要,设置过期策略、会话序列化方式等高级选项。 **...
对于Java开发者,可以使用Jedis库来与Redis交互。Jedis是Java的Redis客户端,提供了丰富的API来操作Redis的数据。要使用Jedis,你需要: 1. 在项目中添加Jedis的依赖,如在Maven中添加: ```xml <groupId>redis....
Redis 是一个开源的(BSD 许可)内存数据结构...Redis 具有高性能,并且提供复制、Lua 脚本、LRU 驱逐、事务和不同级别的磁盘持久性,还通过 Redis Sentinel 提供高可用服务,并提供自动分区功能通过 Redis Cluster。
在Java中使用Redis,通常会借助如Jedis或Lettuce这样的客户端库。Jedis是较早的Redis Java客户端,简单易用,而Lettuce则是更现代化的客户端,提供了非阻塞IO和Netty网络库的支持,适合大规模并发环境。 使用Jedis...
4. 复制与集群:Redis支持主从复制和哨兵(Sentinel)系统,以及集群(Cluster)模式,能够提供高可用性和数据安全性。 5. 跨应用共享:由于Redis是集中式的,所以同一用户的Session数据可以在多台服务器之间共享,...
- **10.3 Java 客户端 Jedis**:使用 Java 编写的 Redis 客户端,支持集群模式。 - **10.4 C++ 客户端 r3c**:适用于 C++ 应用程序的 Redis 集群客户端。 #### 十一、节点管理 - **11.1 添加新主节点**:通过 `...
例如,Java应用程序通过Jedis与Redis交互,利用`commons-pool2`优化连接池,同时使用图形化界面工具进行监控和调试。对于开发和运维团队,这将极大地提升工作效率和系统稳定性。在实际项目中,还需要考虑配置文件的...
3. **高可用性**:Redis支持主从复制和哨兵(Sentinel)监控,可以自动发现并处理故障,确保服务的连续性。 4. **可扩展性**:随着应用规模的增长,可以通过增加Redis实例来扩展存储能力,而不会影响到现有的会话。 ...
Redis是一款高性能的键值对数据库,常用于缓存和数据持久化。在2.8.19版本中,它提供了主从复制...通过实践这些代码,开发者可以更好地理解和掌握Redis的主从配置、Sentinel的使用以及如何在Java应用程序中集成Redis。
在实际应用中,你可以使用这些模板执行常见的Redis操作,如设置键值、获取值、执行哈希操作等。 在部署环境中,确保所有相关的Redis实例、Sentinel节点以及Spring应用都能正常通信,以实现故障转移和负载均衡。定期...