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实现订单自动过期功能的示例代码
May 08 Redis
详解Redis瘦身指南
May 26 Redis
Java Socket实现Redis客户端的详细说明
May 26 Redis
Django使用redis配置缓存的方法
Jun 01 Redis
关于redisson缓存序列化几枚大坑说明
Aug 04 Redis
Redis的字符串是如何实现的
Oct 24 Redis
Redis集群节点通信过程/原理流程分析
Mar 18 Redis
redis sentinel监控高可用集群实现的配置步骤
Apr 01 Redis
Redis实战高并发之扣减库存项目
Apr 14 Redis
关于Redis的主从复制及哨兵问题
Jun 16 Redis
浅谈Redis变慢的原因及排查方法
Jun 21 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实现汉字验证码和算式验证码的方法
2015/03/07 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
Laravel 读取 config 下的数据方法
2019/10/13 PHP
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
浅谈箭头函数写法在ReactJs中的使用
2017/08/22 Javascript
javascript数据结构之多叉树经典操作示例【创建、添加、遍历、移除等】
2018/08/01 Javascript
Vue实现日历小插件
2019/06/26 Javascript
浅谈Layui的eleTree树式选择器使用方法
2019/09/25 Javascript
JS对象属性的检测与获取操作实例分析
2020/03/17 Javascript
JavaScript正则表达式验证登录实例
2020/03/18 Javascript
使用node-media-server搭建一个简易的流媒体服务器
2021/01/20 Javascript
django组合搜索实现过程详解(附代码)
2019/08/06 Python
图文详解Django使用Pycharm连接MySQL数据库
2019/08/09 Python
python3 tcp的粘包现象和解决办法解析
2019/12/09 Python
Python实现名片管理系统
2020/02/14 Python
Python实现像awk一样分割字符串
2020/09/15 Python
Python安装第三方库攻略(pip和Anaconda)
2020/10/15 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
HTML5 WebGL 实现民航客机飞行监控系统
2019/07/25 HTML / CSS
html5 offlline 缓存使用示例
2013/06/24 HTML / CSS
详解三种方式实现平滑滚动页面到顶部的功能
2019/04/23 HTML / CSS
美国的Eastbay旗下的运动款子品牌:Final-Score
2018/01/01 全球购物
大学生专业个人学习的自我评价
2013/10/26 职场文书
我的五年职业生涯规划
2014/01/23 职场文书
企业总经理岗位职责
2014/02/13 职场文书
2014年端午节活动方案
2014/03/11 职场文书
初中生毕业评语
2014/12/29 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
关于保护环境的建议书
2019/06/24 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL
JavaScript ES6的函数拓展
2022/01/18 Javascript
Python与C++中梯度方向直方图的实现
2022/03/17 Python
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android