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");
    }
}

实战

Redis高级项目实战