千家信息网

springboot怎么使用Redis作缓存

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要讲解了"springboot怎么使用Redis作缓存",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"springboot怎么使用Redis作
千家信息网最后更新 2026年11月04日springboot怎么使用Redis作缓存

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

1.依赖与数据库设置

                        org.springframework.boot                        spring-boot-starter-data-redis                                                        org.apache.commons                        commons-pool2                                                        org.springframework.boot                        spring-boot-starter-web                                                        org.springframework.session                        spring-session-data-redis                                                        org.springframework.boot                        spring-boot-starter-test                        test                
spring.redis.database=0  spring.redis.host=localhostspring.redis.port=6379  spring.redis.password=123 #自己的密码spring.redis.lettuce.pool.max-active=8spring.redis.lettuce.pool.max-wait=-1spring.redis.lettuce.pool.max-idle=8spring.redis.lettuce.pool.min-idle=0

2.redis和session配置

@Configuration@EnableCachingpublic 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 + """ +                                "}";        }}
@RestControllerpublic 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.运行

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

运行结果:

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

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

0