高防服务器

springboot怎么使用Redis作缓存


springboot怎么使用Redis作缓存

发布时间:2022-04-06 17:46:24 来源:高防服务器网 阅读:72 作者:iii 栏目:编程语言

这篇文章主要讲解了“springboot怎么使用Redis作缓存”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“springboot怎么使用Redis作缓存”吧!

1.依赖与数据库设置

<dependency>  			<groupId>org.springframework.boot</groupId>  			<artifactId>spring-boot-starter-data-redis</artifactId>  		</dependency>  		<dependency>  			<groupId>org.apache.commons</groupId>  			<artifactId>commons-pool2</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.springframework.boot</groupId>  			<artifactId>spring-boot-starter-test</artifactId>  			<scope>test</scope>  		</dependency>
spring.redis.database=0      spring.redis.host=localhost    spring.redis.port=6379      spring.redis.password=123 #自己的密码    spring.redis.lettuce.pool.max-active=8    spring.redis.lettuce.pool.max-wait=-1    spring.redis.lettuce.pool.max-idle=8    spring.redis.lettuce.pool.min-idle=0

2.redis和session配置

@Configuration  @EnableCaching  public class RedisConfig extends CachingConfigurerSupport{  	  	@Bean  	public KeyGenerator keyGenerator() {          return new KeyGenerator() {              @Override              public Object generate(Object target, Method method, Object... params) {                  StringBuilder sb = new StringBuilder();                  sb.append(target.getClass().getName());                  sb.append(method.getName());                  for (Object obj : params) {                      sb.append(obj.toString());                  }                  return sb.toString();              }          };      }  }    @Configuration  @EnableRedisHttpSession(maxInactiveIntervalInSeconds = 86400*30)  public class SessionConfig {  }

3.实体与controller层

public class User implements Serializable {    	private static final long serialVersionUID = 1L;  	private Long id;  	private String userName;  	private String password;  	private String email;  	private String nickname;  	private String regTime;    	public User() {  		super();  	}  	public User(String email, String nickname, String password, String userName, String regTime) {  		super();  		this.email = email;  		this.nickname = nickname;  		this.password = password;  		this.userName = userName;  		this.regTime = regTime;  	}    	public Long getId() {  		return id;  	}    	public void setId(Long id) {  		this.id = id;  	}    	public String getUserName() {  		return userName;  	}    	public void setUserName(String userName) {  		this.userName = userName;  	}    	public String getPassword() {  		return password;  	}    	public void setPassword(String password) {  		this.password = password;  	}    	public String getEmail() {  		return email;  	}    	public void setEmail(String email) {  		this.email = email;  	}    	public String getNickname() {  		return nickname;  	}    	public void setNickname(String nickname) {  		this.nickname = nickname;  	}    	public String getRegTime() {  		return regTime;  	}    	public void setRegTime(String regTime) {  		this.regTime = regTime;  	}    	@Override  	public String toString() {  		return "User{" +  				"id=" + id +  				", userName="" + userName + """ +  				", password="" + password + """ +  				", email="" + email + """ +  				", nickname="" + nickname + """ +  				", regTime="" + regTime + """ +  				"}";  	}  }
@RestController  public class UserController {        @RequestMapping("/getUser")      @Cacheable(value="user-key")      public User getUser() {          User user=new User("aa@126.com", "aa", "aa123456", "aa","123");          System.out.println("测试缓存");          return user;      }          @RequestMapping("/uid")      String uid(HttpSession session) {          UUID uid = (UUID) session.getAttribute("uid");          if (uid == null) {              uid = UUID.randomUUID();          }          session.setAttribute("uid", uid);          return session.getId();      }  }

4.运行

@SpringBootApplication  public class RedisApplication {    	public static void main(String[] args) {  		SpringApplication.run(RedisApplication.class, args);  	}  }

运行结果:

同时也可以用专门的图形界面工具查看:

感谢各位的阅读,以上就是“springboot怎么使用Redis作缓存”的内容了,经过本文的学习后,相信大家对springboot怎么使用Redis作缓存这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是高防服务器网,小编将为大家推送更多相关知识点的文章,欢迎关注!

[微信提示:高防服务器能助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

[图文来源于网络,不代表本站立场,如有侵权,请联系高防服务器网删除]
[