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
Windows中Redis安装配置流程并实现远程访问功能
Jun 07 Redis
redis cluster支持pipeline的实现思路
Jun 23 Redis
浅谈Redis位图(Bitmap)及Redis二进制中的问题
Jul 15 Redis
Redis Stream类型的使用详解
Nov 11 Redis
CentOS8.4安装Redis6.2.6的详细过程
Nov 20 Redis
源码分析Redis中 set 和 sorted set 的使用方法
Mar 22 Redis
一文搞懂Redis中String数据类型
Apr 03 Redis
Redis keys命令的具体使用
Jun 05 Redis
Redis批量生成数据的实现
Jun 05 Redis
浅谈Redis变慢的原因及排查方法
Jun 21 Redis
利用Redis实现点赞功能的示例代码
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
DOTA2 1月28日更新:监管系统降临刀塔世界
2021/01/28 DOTA
php简单复制文件的方法
2016/05/09 PHP
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
微信开发之获取JSAPI TICKET
2017/07/07 PHP
php多进程模拟并发事务产生的问题小结
2018/12/07 PHP
PHP实现的权重算法示例【可用于游戏根据权限来随机物品】
2019/02/15 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
浅析LigerUi开发中谨慎载入common.css文件
2013/07/09 Javascript
Jquery动态添加及删除页面节点元素示例代码
2014/06/16 Javascript
javascript模拟实现ajax加载框实例
2014/10/15 Javascript
AngularJS基础 ng-srcset 指令简单示例
2016/08/03 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
移动端脚本框架Hammer.js
2016/12/15 Javascript
JavaScript实现数字前补“0”的五种方法示例
2019/01/03 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
Node.js API详解之 tty功能与用法实例分析
2020/04/27 Javascript
原生js实现简单轮播图
2020/10/26 Javascript
原生js实现点击按钮复制内容到剪切板
2020/11/19 Javascript
Python之父谈Python的未来形式
2016/07/01 Python
Python机器学习算法之k均值聚类(k-means)
2018/02/23 Python
python实现类之间的方法互相调用
2018/04/29 Python
django多对多表的创建,级联删除及手动创建第三张表
2019/07/25 Python
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
德国净水壶和滤芯品牌:波尔德PearlCo(家用净水器)
2020/04/29 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
环保标语口号
2014/06/13 职场文书
宣传普通话标语
2014/06/27 职场文书
2016年中秋节慰问信
2015/12/01 职场文书
MySQL慢查询的坑
2021/04/28 MySQL
Linux中Nginx的防盗链和优化的实现代码
2021/06/20 Servers
redis cluster支持pipeline的实现思路
2021/06/23 Redis
Golang 结构体数据集合
2022/04/22 Golang
详解Vue3使用axios的配置教程
2022/04/29 Vue.js
如何Python使用re模块实现okenizer
2022/04/30 Python