释疑
为什么使用缓存
- 缓存是在内存中存储的数据备份,当数据没有发生本质变化时,就可以直接从内存中查询数据,而不用去数据库查询(在磁盘中)
- 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");
}
}