首先确保自己已经成功安装redis不管是win的还是linux的!
- windows 下载地址
https://github.com/ServiceStack/redis-windows
下载完之后解压即可
解压后目录
启动命令:redis-servier
打开cmd:
然后再打开一个cmd 用来打开客户端 ,命令 redis-cli,存储一个key value 值测试一下。
出现上面两个图说明windows 下 redis安装成功。
- linux版的直接去官网下载即可
http://redis.io/download
这里推荐一个博客 安装教程 https://www.cnblogs.com/codersay/p/4301677.html 可以参考这位大牛的,简单粗暴。
- 安装完之后成功启动之后:
在springboot 的application.properties 文件中添加配置
################# redis\u57FA\u7840\u914D\u7F6E #################
spring.redis.host=192.168.1.116
#spring.redis.password=root
spring.redis.port=6379
#spring.redis.timeout=3000
- 添加依赖
<!-- redis依赖包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-redis</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
- 主方法中添加注解,表示开启缓存
- 在实现类中设置缓存
- controller
- controller中调用后页面显示结果
我这里返回json数据
若出现以下错误
2018-07-18 22:41:32.506 ERROR 6120 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.data.redis.serializer.SerializationException: Cannot deserialize; nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to deserialize payload. Is the byte array a result of corresponding serialization for DefaultDeserializer?; nested exception is java.io.InvalidClassException: com.example.demo.pojo.User; class invalid for deserialization] with root cause
java.io.InvalidClassException: com.example.demo.pojo.User; class invalid for deserialization
at java.io.ObjectStreamClass$ExceptionInfo.newInvalidClassException(ObjectStreamClass.java:150) ~[na:1.8.0_66]
at java.io.ObjectStreamClass.checkDeserialize(ObjectStreamClass.java:790) ~[na:1.8.0_66]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1775) ~[na:1.8.0_66]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) ~[na:1.8.0_66]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) ~[na:1.8.0_66]
at java.util.ArrayList.readObject(ArrayList.java:791) ~[na:1.8.0_66]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_66]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_66]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_66]
at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_66]
at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:1058) ~[na:1.8.0_66]
at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1900) ~[na:1.8.0_66]
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1801) ~[na:1.8.0_66]
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) ~[na:1.8.0_66]
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) ~[na:1.8.0_66]
则说明实体类未实现序列化接口 实现后即可成功显示
sql