1、添加依赖

  

<dependency>

       <groupId>org.springframework.boot</groupId>

       <artifactId>spring-boot-starter-data-redis</artifactId>

   </dependency>

<dependency>

  <groupId>redis.clients</groupId>

  <artifactId>jedis</artifactId>

</dependency>

  

2、添加配置文件 

redis.hostName=192.168.0.120

#\u7aef\u53e3\u53f7  

redis.port=

#\u5ba2\u6237\u7aef\u8d85\u65f6\u65f6\u95f4\u5355\u4f4d\u662f\u6beb\u79d2 \u9ed8\u8ba4\u662f2000 

redis.timeout=  

#\u6700\u5927\u7a7a\u95f2\u6570  

redis.maxIdle=  

#\u8fde\u63a5\u6c60\u7684\u6700\u5927\u6570\u636e\u5e93\u8fde\u63a5\u6570\u3002\u8bbe\u4e3a0\u8868\u793a\u65e0\u9650\u5236,\u5982\u679c\u662fjedis 2.4\u4ee5\u540e\u7528redis.maxTotal  

#redis.maxActive=  

#\u63a7\u5236\u4e00\u4e2apool\u53ef\u5206\u914d\u591a\u5c11\u4e2ajedis\u5b9e\u4f8b,\u7528\u6765\u66ff\u6362\u4e0a\u9762\u7684redis.maxActive,\u5982\u679c\u662fjedis 2.4\u4ee5\u540e\u7528\u8be5\u5c5e\u6027  

redis.maxTotal=  

#\u6700\u5927\u5efa\u7acb\u8fde\u63a5\u7b49\u5f85\u65f6\u95f4\u3002\u5982\u679c\u8d85\u8fc7\u6b64\u65f6\u95f4\u5c06\u63a5\u5230\u5f02\u5e38\u3002\u8bbe\u4e3a-\u8868\u793a\u65e0\u9650\u5236\u3002  

redis.maxWaitMillis=  

#\u8fde\u63a5\u7684\u6700\u5c0f\u7a7a\u95f2\u65f6\u95f4 \u9ed8\u8ba41800000\u6beb\u79d2(\u5206\u949f)  

redis.minEvictableIdleTimeMillis=  

#\u6bcf\u6b21\u91ca\u653e\u8fde\u63a5\u7684\u6700\u5927\u6570\u76ee,\u9ed8\u8ba43  

redis.numTestsPerEvictionRun=  

#\u9010\u51fa\u626b\u63cf\u7684\u65f6\u95f4\u95f4\u9694(\u6beb\u79d2) \u5982\u679c\u4e3a\u8d1f\u6570,\u5219\u4e0d\u8fd0\u884c\u9010\u51fa\u7ebf\u7a0b, \u9ed8\u8ba4-  

redis.timeBetweenEvictionRunsMillis=  

#\u662f\u5426\u5728\u4ece\u6c60\u4e2d\u53d6\u51fa\u8fde\u63a5\u524d\u8fdb\u884c\u68c0\u9a8c,\u5982\u679c\u68c0\u9a8c\u5931\u8d25,\u5219\u4ece\u6c60\u4e2d\u53bb\u9664\u8fde\u63a5\u5e76\u5c1d\u8bd5\u53d6\u51fa\u53e6\u4e00\u4e2a  

redis.testOnBorrow=true  

#\u5728\u7a7a\u95f2\u65f6\u68c0\u67e5\u6709\u6548\u6027, \u9ed8\u8ba4false  

redis.testWhileIdle=true  

#redis\u96c6\u7fa4\u914d\u7f6e      

spring.redis.cluster.nodes=10.2.193.28:,10.2.193.28:,10.2.193.28:,10.2.193.29:,10.2.193.29:,10.2.193.29:

spring.redis.cluster.max-redirects=

3、读取配置文件

@Configuration

@PropertySource("classpath:config/redis.properties")

public class RedisConfig {

@Value("${redis.hostName}")

private String hostName;

@Value("${redis.port}")

private Integer port;

@Value("${redis.maxIdle}")

    private Integer maxIdle;

    @Value("${redis.maxTotal}")

    private Integer maxTotal;

    @Value("${redis.maxWaitMillis}")

    private Integer maxWaitMillis;

    @Value("${redis.minEvictableIdleTimeMillis}")

    private Integer minEvictableIdleTimeMillis;

    @Value("${redis.numTestsPerEvictionRun}")

    private Integer numTestsPerEvictionRun;

    @Value("${redis.timeBetweenEvictionRunsMillis}")

    private long timeBetweenEvictionRunsMillis;

    @Value("${redis.testOnBorrow}")

    private boolean testOnBorrow;

    @Value("${redis.testWhileIdle}")

    private boolean testWhileIdle;

    @Value("${spring.redis.cluster.nodes}")

    private String clusterNodes; 

    @Value("${spring.redis.cluster.max-redirects}")

    private Integer mmaxRedirectsac;

    @Bean("redisPool")

  public JedisPool getJedisPool() {

          JedisPool jedisPool = new JedisPool(hostName, port);

          return jedisPool;

    }

    @Bean("redisCluster")

    public JedisCluster getJedisCluster() {

           List<String> nodesList = Arrays.asList(clusterNodes.split(","));

           HashSet<HostAndPort> nodesSet = new HashSet<>();

           if (nodesList != null && nodesList.size() > ) {

      for (String node : nodesList) {

        if (node != null) {

           String[] hostAndPort = node.split(":");

           HostAndPort hostAndPort2 = new HostAndPort(hostAndPort[], Integer.parseInt(hostAndPort[]));

           nodesSet.add(hostAndPort2);

        }

      }

    }

    return new JedisCluster(nodesSet);

  }

}

4、获取redis对象 

@Service("redisService")

public class RedisServiceImpl implements IRedisService{

    private JedisCommands redis;

    @Autowired

    private JedisPool jedisPool;

    @Autowired

    private JedisCluster jedisCluster;

    @Override

    public void afterPropertiesSet() throws Exception {

        if("test".equals("test")){

            this.redis = jedisPool.getResource();

        }else{

            this.redis = jedisCluster;

        }

    }

    public JedisCommands getRedis(){

        return this.redis;

    }

    public String getValue(String key){

        return this.redis.get(key);

    }

    public String setValue(String key, String value){

        return this.redis.set(key, value);

    }

    public Long incr(String key){

        return redis.incr(key);

    }

    public String setValue(String key, String value, int seconds){

        return this.redis.setex(key, seconds, value);

    }

    public Map<String, String> hgetAll(String key){

        return redis.hgetAll(key);

    }

    public String hmset(String key, Map<String, String> map){

        return redis.hmset(key, map);

    }

    public Long expire(String key, int seconds){

        return redis.expire(key, seconds);

    }

    public void del(String key) {

    redis.del(key);

    }

  @Override

     public List<String> lrange(String key) {

        return redis.lrange(key, , -);

     }

    @Override

    public Long lpush(String key, String... string) {

        return redis.lpush(key, string);

    }

}

public interface IRedisService extends InitializingBean{

 public String getValue(String key);

 public String setValue(String key, String value);

 public Long incr(String key);

 public Long expire(String key, int seconds);

 public Map<String, String> hgetAll(String key);

 public String hmset(String key, Map<String, String> map);

 public void del(String key);

 public String setValue(String key, String value, int seconds);

 public List<String> lrange(String key);

 public Long lpush(String key, String... string);

} 

5、测试接口

@RestController

@RequestMapping("/redis")

public class RedisController {

@Autowired

private IRedisService redisService;

@RequestMapping("/set")

public String set(String key,String value) {

  redisService.setValue(key, value);

  return "success";

}

@RequestMapping("/get")

public String get(String key) {

  String value = redisService.getValue(key);

  return value;

}

}

6、启动运行

  

七、springboot(四)配置redis的更多相关文章

  1. springboot(四).配置FastJson自定义消息转化器

    配置FastJson自定义消息转化器 一.fastJson简介 fastJson是阿里巴巴旗下的一个开源项目之一,顾名思义它专门用来做快速操作Json的序列化与反序列化的组件.它是目前json解析最快 ...

  2. SpringBoot中整合Redis、Ehcache使用配置切换 并且整合到Shiro中

    在SpringBoot中Shiro缓存使用Redis.Ehcache实现的两种方式实例 SpringBoot 中配置redis作为session 缓存器. 让shiro引用 本文是建立在你是使用这sh ...

  3. 由浅入深学习springboot中使用redis

    很多时候,我们会在springboot中配置redis,但是就那么几个配置就配好了,没办法知道为什么,这里就详细的讲解一下 这里假设已经成功创建了一个springboot项目. redis连接工厂类 ...

  4. (一)由浅入深学习springboot中使用redis

    很多时候,我们会在springboot中配置redis,但是就那么几个配置就配好了,没办法知道为什么,这里就详细的讲解一下 这里假设已经成功创建了一个springboot项目. redis连接工厂类 ...

  5. springboot配置redis+jedis,支持基础redis,并实现jedis GEO地图功能

    Springboot配置redis+jedis,已在项目中测试并成功运行,支持基础redis操作,并通过jedis做了redis GEO地图的java实现,GEO支持存储地理位置信息来实现诸如附近的人 ...

  6. springboot配置redis

    https://www.cnblogs.com/xiaoping1993/p/7761123.html https://www.cnblogs.com/gdpuzxs/p/7222309.html s ...

  7. springboot中配置主从redis

    测试redis的主从配置 redis实例 文件夹名称如下 redis_master_s redis_slaver1_s redis_slaver2_s redis.conf文件 master的redi ...

  8. SpringBoot配置redis和分布式session-redis

    springboot项目 和传统项目 配置redis的区别,更加简单方便,在分布式系统中,解决sesssion共享问题,可以用spring session redis. 1.pom.xml <d ...

  9. Redis(四)-配置

    Redis 配置 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf. 你可以通过 CONFIG 命令查看或设置配置项. 语法 Redis CONFIG 命令格式如下: ...

  10. springboot(七).springboot整合jedis实现redis缓存

    我们在使用springboot搭建微服务的时候,在很多时候还是需要redis的高速缓存来缓存一些数据,存储一些高频率访问的数据,如果直接使用redis的话又比较麻烦,在这里,我们使用jedis来实现r ...

随机推荐

  1. adb devices连接不上设备

    1.端口被占用 解决办法:netstat -aon|findstr "5037",找到占用5037这个端口的进程,然后根据pid在任务管理器里面找到进程然后结束 2.插拔usb数据 ...

  2. 2019.2.13 SW

  3. [SpringMVC-值传递] 初始SpringMVC--SpringMVC中的值传递

    把页面中输入的值传递到后台以及后台向前台传递,有以下几种方式 这里以登录为例子,实现打印前端页面的值 1,新建一个控制器,根据不同的请求地址实现不同的请求方式 LoginController.java ...

  4. web-view中下载微信头像跨域解决方案

    let img = new Image() // 头像地址后边添加时间戳可解决跨域问题 555. img.src = 'http://wx.qlogo.cn/mmopen/vi_32/RnLIHfXi ...

  5. 解决 canvas 将图片转为base64报错

    var canvas=document.getElementById("canvas"),//获取canvas ctx = canvas.getContext("2d&q ...

  6. react state为数组时插入值

    react state为数组时,如何插入值.在react里,一切皆是状态state,如果想通过改变state修改渲染效果,只能yongsetState.但是setState又是key:value格式, ...

  7. C#类中字段封装为属性

    本文描述内容转载 https://zhidao.baidu.com/question/1174413218458798139.html 感谢 冥冥有你PD 的解答!!! 问题思索1 类成员包括变量和方 ...

  8. TrueCrypt 7.1a Hashes

    Here are the SHA256, SHA1, and MD5 hashes of all TrueCrypt version 7.1a files. The signature of the ...

  9. qt 内置图标使用

    QToolButton *button = new QToolButton(this); button->resize(100,30); button->setToolButtonStyl ...

  10. Layer 弹出页面 在点击保存关闭弹出层

    <script src="http://apps.bdimg.com/libs/jquery/2.0.0/jquery.min.js"></script> ...