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
Redis5之后版本的高可用集群搭建的实现
Apr 27 Redis
浅谈redis缓存在项目中的使用
May 20 Redis
使用Redis实现实时排行榜功能
Jul 02 Redis
浅谈redis整数集为什么不能降级
Jul 25 Redis
Redis字典实现、Hash键冲突及渐进式rehash详解
Sep 04 Redis
Redis的字符串是如何实现的
Oct 24 Redis
使用RedisTemplat实现简单的分布式锁
Nov 20 Redis
面试分析分布式架构Redis热点key大Value解决方案
Mar 13 Redis
在Centos 8.0中安装Redis服务器的教程详解
Mar 21 Redis
Redis 哨兵机制及配置实现
Mar 25 Redis
Redis基本数据类型哈希Hash常用操作命令
Jun 01 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
dedecms后台验证码总提示错误的解决方法
2007/03/21 PHP
破解图片防盗链的代码(asp/php)测试通过
2010/07/02 PHP
php常用字符串处理函数实例分析
2014/11/22 PHP
Zend Framework数据库操作技巧总结
2017/02/18 PHP
微信公众号开发之获取位置信息php代码
2018/06/13 PHP
二级域名或跨域共享Cookies的实现方法
2008/08/07 Javascript
jquery实现点击查看更多内容控制段落文字展开折叠效果
2015/08/06 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
Javascript 对cookie操作详解及实例
2016/12/29 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
jquery dialog获取焦点的方法
2017/02/09 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
基于Proxy的小程序状态管理实现
2019/06/14 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
2020/08/10 Javascript
Python实现优先级队列结构的方法详解
2016/06/02 Python
Python实现JSON反序列化类对象的示例
2018/01/31 Python
新手常见6种的python报错及解决方法
2018/03/09 Python
python selenium自动上传有赞单号的操作方法
2018/07/05 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
使用Python的OpenCV模块识别滑动验证码的缺口(推荐)
2019/05/10 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
Python实现图片查找轮廓、多边形拟合、最小外接矩形代码
2020/07/14 Python
网络工程专业自荐信范文
2014/03/16 职场文书
公司的门卫岗位职责
2014/09/09 职场文书
2014医学院领导班子对照检查材料思想汇报
2014/09/19 职场文书
先进工作者申报材料
2014/12/23 职场文书
2015年科研工作总结范文
2015/05/13 职场文书
法定授权委托证明书
2015/06/18 职场文书
公司备用金管理制度
2015/08/04 职场文书
2019感恩宣传标语!
2019/07/05 职场文书
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python