其实spring boot与redis集成特别简单,只是有些小白java开发人员(无意冒犯)非要写成配置类的形式,还用spring framework的思想去开发spring boot,让我对国内的软件环境以及java程序员的未来感到担忧

在spring boot引用redis需要下面三步:
(1)首先,pom.xml文件如下

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

(2)application.properties

spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.password=密码

(3)

// 哪里用到redis,哪里就注入
@Autowired
private RedisTemplate<String, String> redisTemplate;public void aa(){BoundValueOperations<String, String> redis= redisTemplate.boundValueOps("绑定一个key");//取值redis.get();//赋值redis.set("value也就是内容", 7000, TimeUnit.SECONDS);
}

以上三步即可在spring boot中使用redis,然而在实际开发中,不了解spring boot的人有可能使用下面的方法注入redis,虽然这是可行的,但是我个人不推荐

先写配置类

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import redis.clients.jedis.JedisPoolConfig;@Configuration
@EnableAutoConfiguration
public class RedisConfig {@Bean@ConfigurationProperties(prefix = "spring.redis")public JedisPoolConfig getRedisConfig() {JedisPoolConfig config = new JedisPoolConfig();return config;}@Bean@ConfigurationProperties(prefix = "spring.redis")public JedisConnectionFactory getConnectionFactory() {JedisConnectionFactory factory = new JedisConnectionFactory();factory.setHostName("域名或者IP");factory.setPort(6380);//注意这里,确认你的redis是否ssl链接,不是请falsefactory.setUseSsl(true);factory.setPassword("密码");JedisPoolConfig config = getRedisConfig();factory.setPoolConfig(config);return factory;}@Beanpublic RedisTemplate<?, ?> getRedisTemplate() {RedisTemplate<?, ?> template = new StringRedisTemplate(getConnectionFactory());return template;}
}

最后说一下redis的序列化注意事项,取值的时候,要清楚的知道对方设置的时候采用的哪种序列化方式,比方下面的代码就是我实际开发写的,导致我不得不这样写的原因就是存储值的那个开发小组,主库存的是key-hash,其中key采用string序列化,而hash采用jackson序列化,并且,hash中的每个key又采用string序列化,hash中的value又采用jackson序列化(对于这种操作,显然是存储方对redis序列化不了解,但是没有办法,我又无法控制对方行为),只能写出如下代码

@Resource
private RedisTemplate<String, Object> redisTemplate;public void aa(){RedisSerializer<Object> valueSerializer = new Jackson2JsonRedisSerializer<>(Object.class);RedisSerializer<String> stringSerializer = new StringRedisSerializer();redisTemplate.setKeySerializer(stringSerializer);redisTemplate.setValueSerializer(valueSerializer);redisTemplate.setHashKeySerializer(stringSerializer);redisTemplate.setHashValueSerializer(valueSerializer);BoundHashOperations<String, String, String> operations = redisTemplate.boundHashOps(tokenId);Map<String, String> value = operations.entries();String str = JSON.toJSONString(value);// 此处可以打印str
}

Redis-与SpringBoot的集成相关推荐

  1. SpringBoot 05 集成redis实现对象序列化缓存

    1.为什么用Spring Data Spring Data 的目标是为数据访问提供一个基于Spring的普遍常用的编程模型,同时仍然保留底层数据存储的特殊特性, 它让使用数据访问技术.关系和非关系数据 ...

  2. 【JAVA秘籍功法篇-SpringBoot】SpringBoot如何集成Redis?

    SpringBoot如何集成redis 大家好,我是王老狮,一个有思想有内涵的架构狮.Redis作为分布式缓存,在我们的项目中经常会用到,今天我们看下SpringBoot如何集成redis. POM中 ...

  3. SpringBoot 快速集成 JWT 实现用户登录认证

    前言:当今前后端分离时代,基于Token的会话保持机制比传统的Session/Cookie机制更加方便,下面我会介绍SpringBoot快速集成JWT库java-jwt以完成用户登录认证. 一.JWT ...

  4. springboot项目集成docker

    文章目录 一.docker常用命令 0.拉取镜像到本地仓库 1.查看所有镜像 2.创建一个新的容器并运行,返回的是容器的ID -- CONTAINER ID: 3.查看运行中的docker实例 4.查 ...

  5. springboot的jsp应该放在哪_在springboot中集成jsp开发

    springboot就是一个升级版的spring.它可以极大的简化xml配置文件,可以采用全注解形式开发,一个字就是很牛. 在springboot想要使用jsp开发,需要集成jsp,在springbo ...

  6. springboot+mybatis集成自定义缓存ehcache用法笔记

    今天小编给大家整理了springboot+mybatis集成自定义缓存ehcache用法笔记,希望对大家能有所办帮助! 一.ehcache介绍 EhCache 是一个纯Java的进程内缓存管理框架,属 ...

  7. Springboot/Cloud集成Sentinel 和 入门实战

    文章目录 一.Springboot/Cloud集成Sentinel 1. spring-cloud-alibaba依赖 2. 引入 Sentinel starter 3. 配置application. ...

  8. springboot nacos_springboot集成nacos

    1.现在nacos进行配置添加 2.springboot项目集成nacos nacos上有说明,根据不同的工程进行配置,如下图 集成nacos客户端包 com.alibaba.boot nacos-c ...

  9. SpringBoot 2 集成微信扫码支付

    前言 该文主要是手把手教你如何在SpringBoot 中集成微信扫码支付,以及集成的过程需要注意的问题事项.另外需要感谢 vbirdbest 关于微信支付和支付宝支付相关包博客总结.因为文中很多地方参 ...

  10. MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis

    MyBatis系列之--Java 项目(非SpringBoot)集成MyBatis 对MyBatis简单介绍 核心接口SqlSessionFactory 实战 1. Maven创建Java项目 2. ...

最新文章

  1. 用敏捷开发工具可视化的进行Sprint规划
  2. 关于路径的使用,assi下载和
  3. 转变--一个平凡人的2017年总结及2018年展望
  4. Linux Shell常用技巧(八)
  5. string中c_str()、data()、copy(p,n)函数的用法
  6. java 虚拟机初始堆_了解java虚拟机—堆相关参数设置(3)
  7. Ruby 对字符串进行转码
  8. JAVA异常和基础类库
  9. poj 3841 Double Queue (AVL树入门)
  10. 实用的才是最好的,教你如何以MATLAB的方式实现高等应用数学问题(一)
  11. Java实现提取拼音首字母
  12. html敲tab键无法新建,sublime按tab键无法补全html页面模板解决办法
  13. Python10_阶段性作业
  14. 苹果新功能之Continuity Camera连续性摄像头,是拯救者还是革新者
  15. Acunetix 网站漏洞扫描软件 检测您网站的安全性。
  16. html页面如何访问控制限制,网页访问控制
  17. uni-app 连接逍遥模拟器 安卓模拟器 不显示 找不到 端口映射
  18. 【正点原子MP157连载】第四十章 Linux I2C驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
  19. 触发字检测 trigger word detection
  20. Qt开发 VS2019 C2001 常量中有换行符

热门文章

  1. IDEA 查看本地历史版本
  2. 多个pdf合并成一个pdf_手机里多个PDF合并成一个PDF的免费方法
  3. 360浏览器升级_360安全卫士下载|360安全卫士 12.0 最新版
  4. sql数据库中有多列重复的数据查询
  5. webpack打包VUE项目读取外部配置文件,灵活配置域名
  6. [OGG] [INS-75012] GoldenGate重装报错
  7. java去掉的行_Java实现去掉每行的行号
  8. libcurl 遇到的问题
  9. MySQL/InnoDB中,乐观锁、悲观锁、共享锁、排它锁、行锁、表锁、死锁概念的理解...
  10. zabbix 之 配置iptables允许10050端口