springboot使用Redis作缓存使用入门教程


Posted in Redis onJuly 25, 2021

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作缓存使用入门教程

springboot使用Redis作缓存使用入门教程

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

springboot使用Redis作缓存使用入门教程

到此这篇关于springboot使用Redis作缓存使用入门的文章就介绍到这了,更多相关springboot Redis缓存内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Redis 相关文章推荐
Redis5之后版本的高可用集群搭建的实现
Apr 27 Redis
为Java项目添加Redis缓存的方法
May 18 Redis
redis实现共同好友的思路详解
May 26 Redis
详解Redis复制原理
Jun 04 Redis
比较几种Redis集群方案
Jun 21 Redis
了解Redis常见应用场景
Jun 23 Redis
厉害!这是Redis可视化工具最全的横向评测
Jul 15 Redis
详解redis在微服务领域的贡献
Oct 16 Redis
Redis+Lua脚本实现计数器接口防刷功能(升级版)
Feb 12 Redis
浅谈Redis缓冲区机制
Jun 05 Redis
关于Redis的主从复制及哨兵问题
Jun 16 Redis
python中使用redis用法详解
Dec 24 Redis
Redis中一个String类型引发的惨案
缓存替换策略及应用(以Redis、InnoDB为例)
浅谈redis整数集为什么不能降级
嵌入式Redis服务器在Spring Boot测试中的使用教程
Jul 21 #Redis
Redis源码阅读:Redis字符串SDS详解
浅谈Redis位图(Bitmap)及Redis二进制中的问题
Redis做数据持久化的解决方案及底层原理
Jul 15 #Redis
You might like
php操作JSON格式数据的实现代码
2011/12/24 PHP
php设计模式之命令模式使用示例
2014/03/02 PHP
linux下实现定时执行php脚本
2015/02/13 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
EasyUi tabs的高度与宽度根据IE窗口的变化自适应代码
2010/10/26 Javascript
javascript实用小函数使用介绍
2013/11/11 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
2014/03/08 Javascript
javascript中的previousSibling和nextSibling的正确用法
2015/09/16 Javascript
Angular 应用技巧总结
2016/09/14 Javascript
BootStrap Validator使用注意事项(必看篇)
2016/09/28 Javascript
javascript iframe跨域详解
2016/10/26 Javascript
jquery,js简单实现类似Angular.js双向绑定
2017/01/13 Javascript
AngularJS 单选框及多选框的双向动态绑定
2017/04/20 Javascript
Vue2.0用 watch 观察 prop 变化(不触发)
2017/09/08 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
Python机器学习之SVM支持向量机
2017/12/27 Python
python opencv实现旋转矩形框裁减功能
2018/07/25 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
详解Python并发编程之创建多线程的几种方法
2019/08/23 Python
python中bytes和str类型的区别
2019/10/21 Python
python Plotly绘图工具的简单使用
2020/03/03 Python
设置jupyter中DataFrame的显示限制方式
2020/04/12 Python
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
考博自荐信
2013/10/25 职场文书
竞选演讲稿范文
2013/12/28 职场文书
历史专业学生的自我评价
2014/02/28 职场文书
街道社区活动报告
2015/02/05 职场文书
2015年社区综治宣传月活动总结
2015/03/25 职场文书
党组织结对共建协议书
2016/03/23 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python
Python max函数中key的用法及原理解析
2021/06/26 Python
Nginx配置文件详解以及优化建议指南
2021/09/15 Servers
mysql5.7的安装及Navicate长久免费使用的实现过程
2021/11/17 MySQL