文档章节

Spring-Boot使用RedisCluster

Pasenger
 Pasenger
发布于 2017/03/23 12:29
字数 237
阅读 77
收藏 2

application.properties:

spring.redis.cluster.max-redirects=15
spring.redis.cluster.nodes=redis1:7000,redis1:7001,redis1:7002,redis1:7003,redis1:7004,redis2:7000,redis2:7001,redis2:7002,redis2:7003,redis2:7004,redis3:7000,redis3:7001,redis3:7002,redis3:7003,redis3:7004
spring.redis.database=0
spring.redis.pool.max-active=1000
spring.redis.pool.max-idle=800
spring.redis.pool.max-wait=3000
spring.redis.pool.min-idle=100

使用RedisTemplate:

package com.pasenger.redis.services;

import lombok.Getter;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

import java.util.concurrent.TimeUnit;

/**
 * RedisCluster Operator Service
 * Created by Pasenger on 2017/3/16.
 */

@Service
@Setter
@Getter
@Slf4j
public class RedisClusterService {
    @Autowired
    private RedisTemplate<String, String> redisTemplate;


    /**
     * Redis Set String
     *
     * @param key
     * @param value
     */
    public void setString(String key, String value) {
        redisTemplate.opsForValue().set(key, value);
    }

    /**
     * Redis Setex String
     *
     * @param key
     * @param value
     * @param second
     */
    public void setExString(String key, String value, long second) {
        redisTemplate.opsForValue().set(key, value, second, TimeUnit.SECONDS);
    }

    /**
     * @param key
     * @return
     */
    public long getTtl(String key) {
        return redisTemplate.getExpire(key);
    }

    /**
     * Redis Get String
     *
     * @param key
     * @return
     */
    public String getString(String key) {
        return redisTemplate.opsForValue().get(key);
    }

    /**
     * Redis Delete
     *
     * @param key
     */
    public void delete(String key) {
        redisTemplate.delete(key);
    }
}

单元测试:

package com.pasenger.redis.services;

import org.junit.Assert;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

/**
 * Created by Pasenger on 2017/3/16.
 */
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
public class TestRedisClusterService {

    @Autowired
    private RedisClusterService redisClusterService;

    @Test
    public void TestSetString() {
        redisClusterService.setString("TT1", "TT");

        Assert.assertEquals("TT", redisClusterService.getString("TT1"));
    }

    @Test
    public void TestSetExString() {
        redisClusterService.setExString("TT2", "TT", 60);
        try {
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        Assert.assertTrue(redisClusterService.getTtl("TT2") < 60L);
    }
}

© 著作权归作者所有

Pasenger
粉丝 5
博文 34
码字总数 20821
作品 0
朝阳
高级程序员
私信 提问
Spring Boot + RedisCluster分布式问题

公司最近在做项目整改,框架用到了springboot,用redis做缓存,而且用rediscluster实现了redis的集群。如果做分布式,该怎么实现对redis操作的加锁解锁呢?问下各位大佬有什么比较好的方案?...

小虫625
2018/05/11
1K
0
JFinal 使用RedisCluster

@jFinal 如何集成RedisCluster

伟大可乐
2016/02/22
266
1
redis客户端jedis&spring-data-redis源码赏析

背景 本文主要对当下开源流行的redis客户端jedis和spring-data-redis的部分核心源码进行剖析,记录一下怎么去实现一个redis的java客户端以及在使用redis集群时客户端的操作需要注意的要点。 ...

菜蚜
2018/08/08
249
0
redis cluster jedis client 示例

redis cluster 基本的redis操作示例: JedisCluster jc = null; @Before public void before(){ Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>(); //Jedis Cluster will a......

zgw06629
2015/05/05
17K
0
Springboot+RedisCluster配置+重写单机redis scan

Springboot配置RedisCLuster集群跟单机的玩法有很多不一样. 资源文件 redis:cache: 两个配置文件 @Component@Data@ConfigurationProperties(prefix = "redis.cache")public class RedisPrope......

算法之名
2018/10/07
919
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
9
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部