专栏首页带你回家springboot 整合redis

springboot 整合redis

springboot整合redis官方是有文档的:

英文看不懂可以翻译,代码应该看得懂,

这个是自动注入的。当然也可以xml注入,手动配置。

整合步骤:

pom文件:

    	<!-- spring boot web -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        
       <!-- 热部署 --> 
         <dependency>
	        <groupId>org.springframework.boot</groupId>
	        <artifactId>spring-boot-devtools</artifactId>
	        <optional>true</optional>
	    </dependency>
	    
	    <!-- mybatis -->
	     <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>

        <!-- mysql 驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        
        <!-- alibaba 连接池 -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.10</version>
        </dependency>
	    
	     <!-- swagger -->
	    <dependency>
	        <groupId>io.springfox</groupId>
	        <artifactId>springfox-swagger2</artifactId>
	        <version>2.5.0</version>
	    </dependency>
	    <!-- swagger-ui -->
	    <dependency>
	        <groupId>io.springfox</groupId>
	        <artifactId>springfox-swagger-ui</artifactId>
	        <version>2.5.0</version>
	    </dependency>
	    
        <!--  springboot整合 redis -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-redis</artifactId>
        </dependency>

配置文件:

#端口设置
server:
  port: 9999
#mybatis连接设置
spring:
  datasource: 
    type: com.alibaba.druid.pool.DruidDataSource
    url: jdbc:mysql://127.0.0.1:3306/ehuoyuan?useUnicode=true&characterEncoding=utf8
    username: root
    password: 123456
    driver-class-name: com.mysql.jdbc.Driver
    maxActive: 20                                        #最大活跃度
    initialSize: 1                                       #初始化数量
    maxWait: 60000                                       #超时配置
    poolPreparedStatements: true                         #打开PSCache
    maxPoolPreparedStatementPerConnectionSize: 20        #制定每个PSCache 大小
    validation-query: select 1
    validationQueryTimeout: 5
    testWhileIdle: true
  #redis配置
  redis: 
    host: 127.0.0.1
    #password: 123456
    port: 6379
    pool:
      max-idle: 100
      min-idle: 1
      max-active: 1000
      max-wait: -1
#mybatis 配置文件映射
mybatis:
 mapper-locations: classpath*:mapper/**/*.xml

java代码:

package com.siyuan.app.h5.controller;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.siyuan.app.h5.model.UserModel;
import com.siyuan.app.h5.service.UserService;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

@RestController
@RequestMapping("app/")
@Api("app测试类")
public class DemoController {
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private RedisTemplate<String, String> redisTemplate;
	
	
	@RequestMapping("test")
	@ResponseBody
	@ApiOperation(value="查询用户", notes="某某是需要必填")
	 public List<String> inde(){
		List<String> list = new ArrayList<String>();
		
		List<UserModel> userList = userService.getUesrs();
		for (UserModel user : userList) {
			list.add(user.getName());
		}
		return list; 
	 }
	

	@RequestMapping(value="redisAdd",method=RequestMethod.POST)
	@ApiOperation(value="redisAdd", notes="redis新增")
	 public void redisAdd(@ApiParam(name = "key", value = "redisKey",required = true) @RequestParam(name = "key", required = true) String key,
			             @ApiParam(name = "value",value = "redisValue",required = true)@RequestParam(name = "value",required = true)String value
			          	){
		//操作String类型的数据
		ValueOperations<String, String> valueStr = redisTemplate.opsForValue();
		//存储一条数据
		valueStr.set(key,value);
	 }
	
	@RequestMapping(value="getRides",method=RequestMethod.POST)
	@ResponseBody
	@ApiOperation(value="getRides", notes="redis查询")
	 public String getRides(@ApiParam(name = "key", value = "redisKey",required = true) @RequestParam(name = "key", required = true) String key){
		//操作String类型的数据
		ValueOperations<String, String> valueStr = redisTemplate.opsForValue();
		//存储一条数据
		String vale = valueStr.get(key);
		
		return vale; 
	 }


}

其中上面注解是swagger传值的注解,仅供测试使用,其他使用就是鸡肋了。

测试界面:

上面就是简单的实现redis的存数据,取数据。具体怎么用看你们,如果redis不会安装可以去看看简单的安装教程。这里就不一一描述了。

最后建议还是去看官方文档,官方文档比网上什么教程要更标准。

做技术最难能可贵的就是持续的学习,吸收知识,不断的思考形成自己的理解和模式。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • springboot+mybatsi-plus+lombok+swagger-bootstra整合

    官方地址:https://spring.io/projects/spring-boot/

    斯文的程序
  • Springboot +redis 实现session共享

    用一个容器保存 session,就能共享了。容器可以是数据库,缓存,文件等。当然这里性能最高的还是

    斯文的程序
  • springcloud 之eureka+feign+zuul 基于boot2.0与cloud F版本搭建案例

    springcloud 之eureka+feign+zuul 基于boot2.0与cloud F版本搭建案例

    斯文的程序
  • jodconverter4.1.0版本改进解析

    jodconverter 4.1.0版本的话,改进了api的结构,同时新增了local以及online的模块,本文就来分析一下。

    codecraft
  • 实习笔记2--20160121

    用户1394570
  • Zipkin使用SpringCloud Stream以及Elasticsearch

    在前面的文章中,我们已经成功的使用Zipkin收集了项目的调用链日志。但是呢,由于我们收集链路信息时采用的是http请求方式收集的,而且链路信息没有进行保存,Z...

    Java学习录
  • 【科技】机器学习和大脑成像如何对嘈杂环境中的刺激物进行分类

    AiTechYun 编辑:nanan 学习识别和分类对象是一种基本的认知技能,可以让动物在世界上发挥作用。例如,将另一种动物识别为朋友或敌人,可以决定如何与之互...

    AiTechYun
  • Apache nutch1.5 & Apache solr3.6

    第1章引言 1.1nutch和solr Nutch 是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。 Solr 拥有像 w...

    cloudskyme
  • 主线程都结束了,为何进程还在执行

    本人在做APP性能测试的过程中,曾经遇到过一个比较尴尬的问题,主线程已经结束,但是程序依然在执行,但没有找到在执行什么,一时非常苦恼。先分享一下自己的代码,再说...

    八音弦
  • 原创译文 | Sphero发布Spark Bolt,AI机器人进攻教育领域

    本文为灯塔大数据原创内容,欢迎个人转载至朋友圈,其他机构转载请在文章开头标注:“转自:灯塔大数据;微信:DTbigdata”

    灯塔大数据

扫码关注云+社区

领取腾讯云代金券