1.redis的使用
首先引入依赖
IDEA可以直接创建项目前搜redis直接导入
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
配置文件
application.properties:
spring.cache.type=redis spring.redis.host=127.0.0.1 spring.redis.port=6379
使用注解
@CacheConfig:声明缓存名称 例如:
@CacheConfig(cacheNames = "nil")
@Cacheable:取缓存 如
@Cacheable(key = "#name") public String getSession(HttpSession session, HttpServletRequest req) { return session.getAttribute("name").toString()+"-----"+req.getServletContext().getRealPath("/"); }
@CachePut:修改缓存
@CachePut(key = "#name") public void setSession(HttpSession session, String name) { session.setAttribute("name", name); }
@CacheEvict:删除缓存,allEntries:true表示清除value中的全部缓存,默认为false。
@CacheEvict(cacheNames="books", allEntries=true) public void loadBooks(InputStream batch)
关于实现session共享
pom.xml如下
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-pool2</artifactId> <version>2.4.2</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.0.4.RELEASE</version> </dependency> </dependencies>
写了一个简单的页面 index.html
<html> <head> <title>Title</title> </head> <body> <form action="/setsession"> <input type="text" name="name"><input type="submit" value="提交"> </form> <form action="/getsession"> <input type="submit" value="获取"> </form> </body> </html>
Controller如下
@CacheConfig(cacheNames = "nil") @Controller class HelloController { @RequestMapping("/index.action") public String toyc() { return "index"; } @RequestMapping("/setsession") @ResponseBody @CachePut(key = "#name") public void setSession(HttpSession session, String name) { session.setAttribute("name", name); } @RequestMapping(value = "/getsession",produces = "text/html;charset=utf-8") @ResponseBody @Cacheable(key = "#name") public String getSession(HttpSession session, HttpServletRequest req) { return session.getAttribute("name").toString()+"-----"+req.getServletContext().getRealPath("/"); } }然后就是启动项目开始测试了(一定要先启动redis)
点击提交以后
可以从启动的redis cmd界面看到
输入命令keys *
然后点击获取可以看到
这样就实现了共享了,还在继续学习搭建nginx 实现共享
学习博客:
https://mp.weixin.qq.com/s?__biz=MzI1NDY0MTkzNQ==&mid=2247483757&idx=1&sn=32801f98320d503360806bdd2c26e689&scene=21#wechat_redirect