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 sentinel 频繁主备切换的问题
Apr 12 Redis
Redis延迟队列和分布式延迟队列的简答实现
May 13 Redis
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
May 21 Redis
redis哨兵常用命令和监控示例详解
May 27 Redis
Windows中Redis安装配置流程并实现远程访问功能
Jun 07 Redis
浅谈Redis中的RDB快照
Jun 29 Redis
为什么RedisCluster设计成16384个槽
Sep 25 Redis
redis击穿 雪崩 穿透超详细解决方案梳理
Mar 17 Redis
sentinel支持的redis高可用集群配置详解
Apr 01 Redis
redis 解决库存并发问题实现数量控制
Apr 08 Redis
Redis 异步机制
May 15 Redis
Redis Lua脚本实现ip限流示例
Jul 15 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操作符与控制结构代码
2011/12/30 PHP
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
PHP入门教程之PHP操作MySQL的方法分析
2016/09/11 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
javascript radio 联动效果
2009/03/04 Javascript
使弱类型的语言JavaScript变强势
2009/06/22 Javascript
Jquery 组合form元素为json格式,asp.net反序列化
2009/07/09 Javascript
JavaScript 高级篇之闭包、模拟类,继承(五)
2012/04/07 Javascript
Three.js源码阅读笔记(Object3D类)
2012/12/27 Javascript
jquery $.fn $.fx是什么意思有什么用
2013/11/04 Javascript
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
使用微信内嵌H5网页解决JS倒计时失效问题
2017/01/13 Javascript
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
基于Three.js实现360度全景图片
2018/12/30 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
extjs4图表绘制之折线图实现方法分析
2020/03/06 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
Python基于list的append和pop方法实现堆栈与队列功能示例
2017/07/24 Python
深入理解Python分布式爬虫原理
2017/11/23 Python
windows下python安装pip图文教程
2018/05/25 Python
Python wxpython模块响应鼠标拖动事件操作示例
2018/08/23 Python
python和pywin32实现窗口查找、遍历和点击的示例代码
2020/04/01 Python
理解Django 中Call Stack机制的小Demo
2020/09/01 Python
技术合作协议书范本
2014/04/18 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
元宵节晚会主持词
2015/07/01 职场文书
教你使用TensorFlow2识别验证码
2021/06/11 Python
ubuntu安装jupyter并设置远程访问的实现
2022/03/31 Python
分享五个Node.js开发的优秀实践 
2022/04/07 NodeJs
mysql sock 文件解析及作用讲解
2022/07/15 MySQL
使用CSS实现音波加载效果
2023/05/07 HTML / CSS