首页 > Redis

标题是取了个 RedisTemplate 的名字,但是实际上不讲 RedisTemplate 。我也没咋用过。

主要是讲 StringRedisTemplate ,StringRedisTemplate 和 RedisTemplate  很相像,看资料是说保存进 Redis 的方式不同。

RedisTemplate 是使用 java 自己的序列化和反序列化进行保存,从 Redis 里看去是一堆乱码。

StringRedisTemplate 则是直接使用字符串的形式进行保存,看起来则直观一些。我个人而言,还是比较倾向于用这种的。如果需要存储复杂数据 比如对象。则可以先将其转换为 JSON  格式在进行保存。写程序总免不了调试、测试。总得去 Redis 里面去看,总要用 DEBUG 打断点。字符串/JSON 的形式储存数据更能让人看懂。

 

 

当然,不管 RedisTemplate  也好,还是 StringRedisTemplate  也好,都是 SpringBoot 给你封装好了的。在使用时直接使用 @AutoWrite 注入进需要使用的类就行。

最重要的: 配置

这个肯定是缺不了得

依赖总得导入吧?就是这个:

org.springframework.boot spring-boot-starter-data-redis

yml 配置得有吧?(也有可能是properties)

 

万事俱备,直接开用。由于 SpringBoot 的强大,在配置完之后就是无脑梭了

在要用的类上,直接注入。就可以使用了。

 

它自带了 5 种操作不同数据结构的实现。根据需要获取就行了

 

获取到相应的实现后,则可以调用该数据结构支持的方法,SpringBoot 很贴心的让方法名大致和 Redis 中定义的命令差不多

比如你得到操作字符串的实现,直接通过 get()/set() 方法就能完成赋值取值操作。

获取到 操作List 的实现,里面自然也会有对应 Reids 命令 中 lpush、rpush的 leftPush()、rightPush()。

 

至于有哪一些命令,则可以看我之前写过的 Redis 文章:  Redis五大数据类型

 

阅读全文

首先必须的配置:yml和pom.xml

 

 

 

这个时候需要在总启动类的类上写上该注释:@EnableCaching,使用Redis缓存

然后写一个缓存类,实现MyBatis的二级缓存,就是实现org.apache.ibatis.cache.Cache类

我已经写好了,放上来吧:

最重要的类!!!

 

此时弄完的话,可以说是已经大功告成了!!,可是还需要指定哪个东西需要使用

有两种方式:

 

第一种、在MyBatis使用注解配置的类上面定义类注解:
@CacheNamespace(implementation = 你写的缓存类.class)

这种只会在该类下已写好注解 Sql语句的(@Select)才会采用。该类下没有定义注解Sql的是不会使用Redis缓存的。

 

第二种、在对应类的Mapper.xml文件配置

加上一句话: type属性=写你写好的缓存类(全名)

比如:
<cache type=”top.yibobo.hospital.util.RedisCache” />
这种的Redis缓存只会生效在Mapper.xml中定义好的Sql语句上。

 

 

这两种各需所需。有的方法及时性要求比较强的(比如用户登陆、密码修改),最好别用缓存

阅读全文

其实就是配置啦

SpringBoot真是太方便了!!!

 

说到session共享,这是一个非常重要的东西,由于微服务越来越流行,现在一个应用中的不同功能有可能不会再一台服务器上边

而session是保存在服务器上面的,要是用户访问不同的服务器、但是session不是同一个,就会有很大的问题

为了解决这个问题,可以使用redis在客户端和服务端中间架一道墙,将session中的数据保存在redis中,这样就没那么多屁事了

而springboot实现这个功能真是简单的很

1、在springboot的pom.xml文件中,加上session使用redis保存的配置