Redis--发布订阅、key 的过期删除策略、Jedis的使用、SpringBoot整合Redis、Redis的事务、持久化、Redis集群、Redis做缓存中间件
关于Redis的发布订阅、key的过期删除策略、Jedis的使用、Spring Boot整合Redis以及Redis集群的问题,以下是一些基本的解决方案和示例代码:
- 发布订阅:
// 发布消息
Jedis jedis = new Jedis("localhost");
jedis.publish("channel1", "message1");
// 订阅频道
Jedis jedisSub = new Jedis("localhost");
jedisSub.subscribe(new JedisPubSub() {
@Override
public void onMessage(String channel, String message) {
System.out.println("received message:" + message + "from channel:" + channel);
}
}, "channel1");
- Key的过期删除策略:
Redis会定期检查过期的key,并进行删除。另外,当一个key被访问时,如果它已经过期,Redis也会删除它。
- Jedis的使用:
Jedis jedis = new Jedis("localhost");
jedis.set("key", "value");
String value = jedis.get("key");
- Spring Boot整合Redis:
首先添加依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
然后配置application.properties:
spring.redis.host=localhost
spring.redis.port=6379
使用RedisTemplate:
@Autowired
private StringRedisTemplate redisTemplate;
public void setKey(String key, String value) {
redisTemplate.opsForValue().set(key, value);
}
public String getKey(String key) {
return redisTemplate.opsForValue().get(key);
}
- Redis集群:
Set<HostAndPort> nodes = new HashSet<>();
nodes.add(new HostAndPort("127.0.0.1", 7000));
nodes.add(new HostAndPort("127.0.0.1", 7001));
nodes.add(new HostAndPort("127.0.0.1", 7002));
nodes.add(new HostAndPort("127.0.0.1", 7003));
nodes.add(new HostAndPort("127.0.0.1", 7004));
nodes.add(new HostAndPort("127.0.0.1", 7005));
JedisCluster jedisCluster = new JedisCluster(nodes);
jedisCluster.set("foo", "bar");
String value = jedisCluster.get("foo");
以上代码提供了Redis的基本使用方法,包括发布订阅、Key的过期删除策略、Jedis的使用、Spring Boot整合Redis以及Redis集群的使用。在实际应用中,你可能需要根据具体需求进行调整和扩展。
评论已关闭