SpringBoot Redis简单理解
时间:2022-07-25
本文章向大家介绍SpringBoot Redis简单理解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
释疑
为什么使用缓存
- 缓存是在内存中存储的数据备份,当数据没有发生本质变化时,就可以直接从内存中查询数据,而不用去数据库查询(在磁盘中)
- CPU读取内存的速度要比读取磁盘快,可以提高效率
Redis缓存
- Remote Dictionnary Server(远程数据服务,Redis),是一款内存高速缓存数据库。
- 五种常用数据类型: String(字符串)、List(列表)、Set(集合)、Hash(散列)、ZSet(有序集合)
- 可持久化:一边运行,一边向硬盘备份一份,防止断电等偶然情况,导致内存中数据丢失
可参考:从入门到精通-Redis
Redis可视化管理工具
可视化管理redis的界面工具:RedisDesktopManager,官方下载链接:https://redisdesktop.com/download 河蟹版:https://tanyh.lanzous.com/icdp3ud
Redis命令大全
http://www.redis.cn/commands.html
配置redis
1、在pom中配置redis的相关依赖包:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.3.8.RELEASE</version>
</dependency>
2、在application.yml里面配置redis的配置项
spring:
## Redis 配置
redis:
## Redis数据库索引(默认为0)
database: 0
## Redis服务器地址
host: 192.168.126.129
## Redis服务器连接端口
port: 6379
## Redis服务器连接密码(默认为空)
password:
jedis:
pool:
## 连接池最大连接数(使用负值表示没有限制)
#spring.redis.pool.max-active=8
max-active: 8
## 连接池最大阻塞等待时间(使用负值表示没有限制)
#spring.redis.pool.max-wait=-1
max-wait: -1
## 连接池中的最大空闲连接
#spring.redis.pool.max-idle=8
max-idle: 8
## 连接池中的最小空闲连接
#spring.redis.pool.min-idle=0
min-idle: 0
## 连接超时时间(毫秒)
timeout: 1200
使用redis
项目操作redis是使用的RedisTemplate方式,另外还可以完全使用JedisPool和Jedis来操作redis。 直接看这篇吧,蛮详细的: SpringBoot整合Redis、mybatis实战,封装RedisUtils工具类,redis缓存mybatis数据
其他
对于Redis的五大常用数据类型都提供了方法
- stringRedisTemplate.opsForValue();[String(字符串)]
- stringRedisTemplate.opsForList();[List(列表)]
- stringRedisTemplate.opsForSet();[Set(集合)]
- stringRedisTemplate.opsForHash();[Hash(散列)]
- stringRedisTemplate.opsForZSet();[ZSet(有序集合)]
StringTemplate类中方法存取的key-value值是String类型,RedisTemplate中key-value值是Object类型,RedisTemplate是StringTemplate父类
@SpringBootTest
class SpringbootdemoApplicationTests {
@Autowired
StringRedisTemplate stringRedisTemplate; //操作key-value都是字符串,最常用
@Test
public void test01(){
//字符串操作
stringRedisTemplate.opsForValue().append("msg","coder");
//列表操作
stringRedisTemplate.opsForList().leftPush("mylist","1");
stringRedisTemplate.opsForList().leftPush("mylist","2");
}
}
实战
- 数据结构-栈的定义及python实现
- 【关关的刷题日记59】Leetcode 257 Binary Tree Paths
- 学大伟业 国庆Day2
- ECMAScript 6入门 - 变量的解构赋值
- 二叉排序树 python实现
- ES6新特性概览
- 数据结构-顺序表的定义及python实现
- 洛谷P1516 青蛙的约会
- python实现二叉树的创建和遍历
- python中numpy模块下的np.clip()的用法
- Leetcode-Easy 543. Diameter of Binary Tree
- Leetcode-Easy 572. Subtree of Another Tree
- 图解javascript this指向什么?
- 2017/6/8-python正则表达式的使用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Keras: model实现固定部分layer,训练部分layer操作
- 在Keras中CNN联合LSTM进行分类实例
- DeepWalk:图网络与NLP的巧妙融合
- PHP扩展mcrypt实现的AES加密功能示例
- PHP PDOStatement::bindColumn讲解
- PHP PDOStatement::fetchAll讲解
- PHP PDOStatement::bindParam讲解
- PHP date()格式MySQL中插入datetime方法
- Python sklearn中的.fit与.predict的用法说明
- 基于python实现ROC曲线绘制广场解析
- Python建造者模式案例运行原理解析
- PHP PDOStatement::errorInfo讲解
- PDO::setAttribute讲解
- Yii2.0建立公共方法简单示例
- PHP PDOStatement::execute讲解