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 27 Redis
详解RedisTemplate下Redis分布式锁引发的系列问题
Apr 27 Redis
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
May 21 Redis
Redis Cluster 字段模糊匹配及删除
May 27 Redis
详解Redis基本命令与使用场景
Jun 01 Redis
深入理解redis中multi与pipeline
Jun 02 Redis
redis requires ruby version2.2.2的解决方案
Jul 15 Redis
Redis如何实现分布式锁
Aug 23 Redis
Redis字典实现、Hash键冲突及渐进式rehash详解
Sep 04 Redis
Redis 限流器
May 15 Redis
Redis keys命令的具体使用
Jun 05 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乱码问题,UTF-8乱码常见问题小结
2012/04/09 PHP
PDO::getAttribute讲解
2019/01/28 PHP
javascript 定义初始化数组函数
2009/09/07 Javascript
仅IE9/10同时支持script元素的onload和onreadystatechange事件分析
2011/04/27 Javascript
如何让DIV可编辑、可拖动示例代码
2013/09/18 Javascript
js关于命名空间的函数实例
2015/02/05 Javascript
JavaScript更改原始对象valueOf的方法
2015/03/19 Javascript
jQuery实现带动画效果的多级下拉菜单代码
2015/09/08 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
AngularJS入门教程之多视图切换用法示例
2016/11/02 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
微信小程序实现锚点定位楼层跳跃的实例
2017/05/18 Javascript
Python中的闭包实例详解
2014/08/29 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
Python for循环生成列表的实例
2018/06/15 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
使用python判断jpeg图片的完整性实例
2019/06/10 Python
在Python中表示一个对象的方法
2019/06/25 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
OpenCV+Python3.5 简易手势识别的实现
2020/12/21 Python
大学团支书的自我评价分享
2013/12/14 职场文书
运动会广播稿200米
2014/01/27 职场文书
餐厅经理岗位职责和岗位目标
2014/02/13 职场文书
中药专业自荐信范文
2014/03/18 职场文书
家长会标语
2014/06/24 职场文书
关于感恩的演讲稿200字
2014/08/26 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
审计班子对照检查材料
2014/08/27 职场文书
离婚协议书范文2015
2015/01/26 职场文书
活动宣传稿范文
2015/07/23 职场文书
小学体育课教学反思
2016/02/16 职场文书
HTML中的表单元素介绍
2022/02/28 HTML / CSS