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 相关文章推荐
redis连接被拒绝的解决方案
Apr 12 Redis
为Java项目添加Redis缓存的方法
May 18 Redis
Redis高级数据类型Hyperloglog、Bitmap的使用
May 24 Redis
redis中lua脚本使用教程
Nov 01 Redis
Redis模仿手机验证码发送的实现示例
Nov 02 Redis
使用RedisTemplat实现简单的分布式锁
Nov 20 Redis
Redis 操作多个数据库的配置的方法实现
Mar 23 Redis
Redis中key的过期删除策略和内存淘汰机制
Apr 12 Redis
Redis特殊数据类型Geospatial地理空间
Jun 01 Redis
Redis实现订单过期删除的方法步骤
Jun 05 Redis
一文教你快速生成MySQL数据库关系图
Jun 28 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
德生S2000收音机更换“钕铁硼”全频扬声器
2021/03/02 无线电
PHP程序员编程注意事项
2008/04/10 PHP
PHP 5.3.0 安装分析心得
2009/08/07 PHP
简单的PHP留言本实例代码
2010/05/09 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
node.js实现BigPipe详解
2014/12/05 Javascript
Bootstrap表单布局样式代码
2016/05/31 Javascript
Javascript实现代码折叠功能
2016/08/25 Javascript
Nodejs 搭建简单的Web服务器详解及实例
2016/11/30 NodeJs
layui radio性别单选框赋值方法
2018/08/15 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
vue服务端渲染添加缓存的方法
2018/09/18 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
Python hashlib模块用法实例分析
2018/06/12 Python
使用python 打开文件并做匹配处理的实例
2019/01/02 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
python输出数组中指定元素的所有索引示例
2019/12/06 Python
python爬虫智能翻页批量下载文件的实例详解
2021/02/02 Python
HTML5上传文件显示进度的实现代码
2012/08/30 HTML / CSS
几个解决兼容IE6\7\8不支持html5标签的几个方法
2013/01/07 HTML / CSS
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
求两个数的乘积和商数,该作用由宏定义来实现
2013/03/13 面试题
大学生毕业自我评价范文分享
2013/11/07 职场文书
初婚未育证明
2014/01/15 职场文书
财务出纳岗位职责
2014/02/03 职场文书
党员干部三严三实心得体会
2014/10/13 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书
八年级语文教学反思
2016/03/03 职场文书
Python使用Kubernetes API访问集群
2021/05/30 Python
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers
MySQL分布式恢复进阶
2022/07/23 MySQL