Springboot 基础6 - Redis实战
Redis 介绍: Redis 服务
Redis (REmote Dictionary Server) 是一个由Salvatore Sanfilippo 完成的key-value存储系统,是跨平台的非关系型数据库。
Redis 是一个开源的使用ANSI C语言编写、遵循BSD 协议的、支持网络、可基于内存、分布式、可选择持久性的键值对存储数据库,并提供多语言的API。
Redis 通常被认为是数据结构服务器,其值可以是字符串、哈希、列表、集合以及有序集合。
Redis 优点
异常快,每秒可以执行大约110000次写(set)操作
每秒可执行大约81000次读(get)操作
支持丰富的数据结构
操作具有原子性, 所有Redis 操作都是原子操作,这确保了两个客户端并发访问,Redis 服务器能接收更新的值。
多使用工具,缓存,消息队列(Redis 本地支持发布/订阅),应用程序中的任何短期数据。
Redis 安装
下载地址:
https://github.com/MSOpenTech/redis/releases
Redis 支持32位和64 位,下载完成后,解压后,文件夹下面包含许多子文件,打开cmd 窗口,将其切换到redis 目录下,输入命名:
D:\sdk\Redis-x64-5.0.9 redis-server.exe redis.windows.conf
如果想使用redis 启动更加容易的话,可以使用 将redis 安装路径加入到环境变量中,直接点击 redis-server.exe 即可启动redis 服务。
SpringBoot 集成Redis 过程
1. 在pom.xml 中配置相关依赖 jar
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
2.在SpringBoot 中配置核心文件
在application.properties 文件下添加配置redis 信息
# 配置redis
spring.redis.host:localhost
spring.redis.password=
spring.redis.port=6379
3. Redis 配置类及其使用
Redis 配置类
// RedisConfig redisconfig 配置
@Configuration
public class RedisConfig {/*** key redis serializer: {@link StringRedisSerializer} and* key redis serializer: {@link Jackson2JsonRedisSerializer}**/@Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {// 创建对象RedisTemplate<String, Object> template = new RedisTemplate<>();Jackson2JsonRedisSerializer valueRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);//设置Redis的value为json格式,并存储对象信息的序列化类型ObjectMapper objectMapper = new ObjectMapper();objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);valueRedisSerializer.setObjectMapper(objectMapper);
// 创建一个keyRedisSerializerRedisSerializer keyRedisSerializer = new StringRedisSerializer();// 设置信息template.setKeySerializer(keyRedisSerializer);template.setValueSerializer(valueRedisSerializer);template.setHashKeySerializer(keyRedisSerializer);template.setHashValueSerializer(valueRedisSerializer);template.setConnectionFactory(factory);template.afterPropertiesSet();return template;}
// redisUtils() 方法@Beanpublic RedisUtils redisUtils(@Autowired RedisTemplate redisTemplate) {return new RedisUtils(redisTemplate);}
}
Redis 工具类, 首先redis 的增删改查等操作,针对多种数据类型的数据
/*** redis工具类** @author Jone*/
// RedisUtils
@Slf4j
public class RedisUtils {
// 初始化变量private static Logger logger = LoggerFactory.getLogger(RedisUtils.class);
private static RedisTemplate redisTemplate;
public RedisUtils(RedisTemplate redisTemplate) {this.redisTemplate = redisTemplate;}
// =============================common============================
/*** 判断key是否存在** @param key 键* @return true 存在 false不存在*/public Boolean hasKey(String key) {try {return redisTemplate.hasKey(key);} catch (Exception e) {logger.error("判断key是否存在异常: {}", e);return false;}}
/*** 普通缓存获取** @param key 键* @return 值*/public Object get(String key) {return key == null ? null : redisTemplate.opsForValue().get(key);}
/*** 删除* @param key* @return*/public boolean del(String ... key){if(key!=null&&key.length>0){
redisTemplate.delete(key[0]);return true;}else{redisTemplate.delete(CollectionUtils.arrayToList(key));return true;}}return false;}
// SET JIHEpublic Set getKeys(){return redisTemplate.keys("*");}
/*** 普通缓存放入** @param key 键* @param value 值* @return true成功 false失败*/public Boolean set(String key, Object value) {try {redisTemplate.opsForValue().set(key, value);return true;} catch (Exception e) {logger.error("set异常: {}", e);return false;}}
}
配置完备之后,自动配置RedisTemplate ,需要操作redis 的类中注入redisTeplate,如下所示:
// 使用RedisTemplate
@Autowired
private RedisTemplate<String, String> redisTemplate;
@Autowired
private RedisTemplate<Object, Object> redisTemplate;
Springboot 基础6 - Redis实战相关推荐
- 零基础入门Redis实战教程(基础篇)
Redis系列已更新进阶篇,详情请见:Redis十分钟进阶实战教程(进阶篇) 文章目录 一.NoSQL 二.Redis (一)什么是Redis (二)基础的知识 (三)五大数据类型 (四)三种特殊数据 ...
- 视频教程- 19年录制Redis实战教程 高可用秒杀分布式锁布隆过滤器实战 SpringBoot教程整合-Java
19年录制Redis实战教程 高可用秒杀分布式锁布隆过滤器实战 SpringBoot教程整合 7年的开发架构经验,曾就职于国内一线互联网公司,开发工程师,现在是某创业公司技术负责人, 擅长语言有nod ...
- 全程配图超清晰的Springboot权限控制后台管理项目实战第二期(Springboot+shiro+mybatis+redis)
全程配图超清晰的Springboot权限控制后台管理项目实战第二期(Springboot+shiro+mybatis+redis) 众所周知,作为一个后端新手学习者,通过项目来学习,增长项目经验,是一 ...
- Redis基础入门及实战案例
Redis 1.NoSQL简介 NoSQL,泛指非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网 ...
- SpringBoot2.x整合Redis实战 4节课
1.分布式缓存Redis介绍 简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具 1.redis官网 https://redis.io/download 2.新 ...
- SpringBoot2.x整合redis实战讲解
SpringBoot2.x整合redis实战讲解 简介:使用springboot-starter整合reids实战 1.官网:https://docs.spring.io/spring-boot/do ...
- SpringBoot基础知识
SpringBoot基础知识 SpringBoot课程笔记 前言 很荣幸有机会能以这样的形式和互联网上的各位小伙伴一起学习交流技术课程,这次给大家带来的是Spring家族中比较重要的一门技术课程- ...
- 8. SpringBoot基础学习笔记
SpringBoot基础学习笔记 课程前置知识说明 1 SpringBoot基础篇 1.1 快速上手SpringBoot SpringBoot入门程序制作 1.2 SpringBoot简介 1.2.1 ...
- SpringBoot2.0整合Redis实战
SpringBoot2.x整合Redis实战 1.分布式缓存Redis介绍 简介:讲解为什么要用缓存和介绍什么是Redis,新手练习工具 1.redis官网 https://redis.io/down ...
- SpringBoot基础 核心技术
注:本文基于尚硅谷雷丰阳老师公开的 SpringBoot 笔记整理而得,并加入了一些个人理解 雷丰阳老师公开笔记的地址为 : (https://www.yuque.com/atguigu/spring ...
最新文章
- 四种DCOM错误的区别,0x80080005 0x800706be 0x80010105 0x
- 线段树 ---- CF452F. Permutation(线段树维护序列Hash)
- Android中对同一个TextView设置不同字体样式
- linux yum及yum仓库
- 改成中文版的_lol手游怎么改成中文版?英雄联盟手游中文版更改教程
- 前端学习(2354):image组件的基本使用
- django-pycharm下省略python manage.py的办法
- HTML 超级链接详细讲解
- QTP中实现对文本文件(txt)的读写操作
- 设计灵感|简单的文字和图片排版如何出彩?
- windows程序静默安装
- 华为交换机基本配置命令明细
- 计算机属于人文社会科学吗,五、人文社会科学与自然科学的主要区别
- 20145322 Exp5 MS08_067漏洞测试
- 从程序员到项目经理(10):程序员加油站 --要执着但不要固执【转载】
- bios対初学者_初学者的BIOS
- 读书记录|《所罗门王的指环》
- vue3使用useMouseInElement实现图片局部放大预览效果
- BDE Administrator 在 Windows 7/10 保存无响应卡死
- Hello hello ~
热门文章
- linux 下查看文件字符编码和转换编码 360doc,Linux 下查看文件字符编码和转换编码...
- 2021年危险化学品经营单位安全管理人员考试及危险化学品经营单位安全管理人员作业考试题库
- [VBA]VBA编写的时光倒流软件
- rubyinstaller2 32/64位 2.3.3
- 2022,微博稳了吗?
- hp 1020 无线打印服务器,HP1020plus无线打印
- 南天PR2、PR2E驱动下载,xp,win7,win8,win8.1,win10 32位64位驱动下载安装教程
- office 兼容包下载地址
- 关于java中的httpsession_JavaWeb——HttpSession
- html不存在模板,模板文件不存在,无法解析文档的解决方法