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. background 的一些 小的细节: 1, 背景色覆盖范围: border+ width+ padding ;背景图覆盖范围: width + padding ; 2设置多个背景图片 ; 3) background-position定位百分比的计算方式: 4)background-clip 和 background-origin 的区别

    1. background (background-color, background-image)  背景色覆盖范围: border+ width+ padding ;背景图覆盖范围: width ...

  2. python自学第四天,字符串用法

    String 的用法 names="张三 welcome {city}" print(names.capitalize())#首字母大写 print(names.count(&qu ...

  3. ios中scrollView基本用法

    设置scrollView内容的尺寸(滚动的范围) self.scrollView.contentSize = CGSizeMake(, ); self.scrollView.contentSize = ...

  4. float浮动,定位

    1 浮动定位    1.普通流定位        普通流,由称为文档流        块级元素:从上到下一个一个的排列        行内元素:一行内从左到右的排列    2.浮动定位         ...

  5. SQL注入之Sqli-labs系列第八篇(基于布尔盲注的注入)

    开始挑战第八关(Blind- Boolian- Single Quotes- String) 这关首先需要用到以下函数: 开始测试,使用测试语句,利用单引号进行闭合 猜解字段 union select ...

  6. quartz 应用

    quartz api地址:http://www.quartz-scheduler.org/api/2.2.0/ 根据需求选择quartz调度方案: 1,如果调度时间是固定不变的,可以选择静态调度 2, ...

  7. linux系统nginx的https的跳转

    环境:系统ubuntu16 申请证书是腾讯云免费证书 首先我在安装nginx SSL证书的时候犯了个错误,nginx是需要安装SSl的模块不然没法配置完成.需要安装一个 http_ssl_module ...

  8. gcc/g++ 使用 tricks

    0. 优化级别 -O0,不进行优化的编译后的文件大小反而更小,小于 -O2 的: 1. -std 指定 C 语言标准 -ansi -ansi == -std=c90 -std=c99:(std:sta ...

  9. Java调用Lua脚本(热载实现)

    前言: Lua作为解析执行的脚本语言, 往往是易变逻辑编写的首选语言, 尤其是在游戏领域. C/C++和Lua的结合, 往往了标配. 比如Redis, Nginx其对Lua的支持, 也是杠杠的. 当然 ...

  10. verilog实现中值滤波

    前言 项目需要,想要实现算法中的其中一步即中值滤波,同时,因为图像处理部分中值滤波相对来说还是比较简单的,将中值滤波的硬件实现作为进入FPGA领域的第一次尝试.虽然说网上有较多关于中值滤波的文档,可是 ...