SpringBoot+Redis基本操作,2021Java高级面试题汇总解答

SpringBoot引入Redis依赖



 <dependencies>

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot -->

        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter -->

        <dependency>

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

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

            <version>2.1.3.RELEASE</version>

        </dependency>





    <dependency>

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

        <artifactId>spring-boot-starter-jdbc</artifactId>

    </dependency>



        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->

        <dependency>

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

            <artifactId>spring-boot-starter-web</artifactId>

            <version>2.1.3.RELEASE</version>

        </dependency>



	   <!--  引入最新版SpringBoot2.X  -->

        <!-- https://mvnrepository.com/artifact/org.springframework.data/spring-data-redis -->

        <dependency>

            <groupId>org.springframework.data</groupId>

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

            <version>2.1.5.RELEASE</version>

        </dependency>



        <!-- 这里要引入jedis,不然会有connectionfactory的报错 -->

        <dependency>

            <groupId>redis.clients</groupId>

            <artifactId>jedis</artifactId>

            <version>2.9.0</version>

        </dependency>

		

		<!--   为了可以使用StringUtils的方法 -->

        <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->

        <dependency>

            <groupId>org.apache.commons</groupId>

            <artifactId>commons-lang3</artifactId>

            <version>3.8.1</version>

        </dependency>



        <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->

        <!--  为了可以使用Lists.newArrayList()   -->

        <dependency>

            <groupId>com.google.guava</groupId>

            <artifactId>guava</artifactId>

            <version>27.0.1-jre</version>

        </dependency>





    </dependencies> 

配置application.yml



spring:

  redis:

    database: 0

    host: localhost

    port: 6379

    password: root

    pool:

      max-active: 8

      max-wait: -1

      max-idle: 8

      min-idle: 0

    timeout: 5000

server:

  port: 8081 

注入RedisTemplate,还要有初始化RedisConnectionFactory



 package com.rosam.config;

import com.fasterxml.jackson.annotation.JsonAutoDetect;

import com.fasterxml.jackson.annotation.PropertyAccessor;

import com.fasterxml.jackson.databind.ObjectMapper;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.data.redis.connection.RedisConnectionFactory;

import org.springframework.data.redis.core.RedisTemplate;

import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;

import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer;

import org.springframework.data.redis.serializer.StringRedisSerializer;



/**

 * 自己的redisTemplate

 *

 * @author Song.aw

 * @create 2017-12-07 9:37

 **/

@Configuration

public class RedisConfig{



    @Autowired

    RedisConnectionFactory redisConnectionFactory;



    @Bean

    public RedisTemplate<String, Object> functionDomainRedisTemplate() {

        RedisTemplate<String, Object> redisTemplate = new RedisTemplate<String, Object>();

        initDomainRedisTemplate(redisTemplate, redisConnectionFactory);

        return redisTemplate;

    }



    private void initDomainRedisTemplate(RedisTemplate<String, Object> redisTemplate, RedisConnectionFactory factory) {

        redisTemplate.setKeySerializer(new StringRedisSerializer());

        redisTemplate.setHashKeySerializer(new StringRedisSerializer());

        redisTemplate.setHashValueSerializer(new JdkSerializationRedisSerializer());

        redisTemplate.setValueSerializer(new JdkSerializationRedisSerializer());

        redisTemplate.setConnectionFactory(factory);

    }





} 

在Controller中的使用



package com.rosam.controller;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.data.redis.core.RedisTemplate;

import org.springframework.data.redis.core.ZSetOperations;

import org.springframework.data.redis.support.atomic.RedisAtomicLong;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.*;

import java.util.Map;

import java.util.Set;

import java.util.concurrent.TimeUnit;





@Controller

@RequestMapping("/user")

public class UserController {





    @Autowired


# 总结

虽然面试套路众多,但对于技术面试来说,主要还是考察一个人的技术能力和沟通能力。不同类型的面试官根据自身的理解问的问题也不尽相同,没有规律可循。

![](https://img-blog.csdnimg.cn/img_convert/e3729e317945e24e46a8f0be95fd7cc9.png)



![](https://img-blog.csdnimg.cn/img_convert/99a9fde9346869860f198b2f26b32889.png)

**上面提到的关于这些JAVA基础、三大框架、项目经验、并发编程、JVM及调优、网络、设计模式、spring+mybatis源码解读、Mysql调优、分布式监控、消息队列、分布式存储等等面试题笔记及资料**

**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](https://codechina.csdn.net/m0_60958482/java-p7)**

问的问题也不尽相同,没有规律可循。

[外链图片转存中...(img-JWAyu807-1630841731873)]



[外链图片转存中...(img-mSqAACqu-1630841731875)]

**上面提到的关于这些JAVA基础、三大框架、项目经验、并发编程、JVM及调优、网络、设计模式、spring+mybatis源码解读、Mysql调优、分布式监控、消息队列、分布式存储等等面试题笔记及资料**

**[CodeChina开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频】](https://codechina.csdn.net/m0_60958482/java-p7)**

有些面试官喜欢问自己擅长的问题,比如在实际编程中遇到的或者他自己一直在琢磨的这方面的问题,还有些面试官,尤其是大厂的比如 BAT 的面试官喜欢问面试者认为自己擅长的,然后通过提问的方式深挖细节,刨根到底。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值