spring整合redis

1.导入依赖

复制代码
<!-- spring-data-redis 依赖-->
<dependency>
    <groupId>org.springframework.data</groupId>
    <artifactId>spring-data-redis</artifactId>
    <version>2.7.18</version>
</dependency>
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>3.5.2</version>
</dependency>

2.导入配置文件

3.修改配置信息

复制代码
配置文件:redis.properties

4.测试:

复制代码
@Test
    public void test() {
        // 使用RedisTemplate的opsForValue()方法获取操作字符串值的ValueOperations接口实例
        redisTemplate.opsForValue().set("name", "jack");

        // 使用opsForValue()获取的实例,调用set方法将键为"name"的值设置为"jack"
        // 这行代码会将字符串"jack"存储在Redis数据库中,键为"name"

        String name = (String) redisTemplate.opsForValue().get("name");

        // 使用opsForValue()获取的实例,调用get方法获取键为"name"的值
        // 这行代码从Redis数据库中检索键为"name"的值,并将其转换为String类型,然后赋值给变量name
        // 如果键"name"存在,name变量将被赋值为"jack";如果不存在,name将为null
        System.out.println(name);
    }
    //数据类型:object
    @Test
    public void test1() {
        User user = new User();
        user.setUsercode("admin");
        user.setUsername("管理员");
        redisTemplate.opsForValue().set("user", user);
        User loginuser = (User) redisTemplate.opsForValue().get("user");
        System.out.println(loginuser);
    }

出现下情况(序列化/反序列化):

spring-redis.xml 下解掉注释

4.在项目中使用redis作为缓存工具

案例(整合前):

复制代码
@Override
    public User selectByPrimaryKey(Long id) {
        return userMapper.selectByPrimaryKey(id);
    }

1.将部分数据缓存到redis中

1.1注入RedisTemplate对象

1.2修改后的代码

复制代码
@Override
public User selectByPrimaryKey(Long id) {
    //从缓存中读取user对象
    User user = (User) redisTemplate.opsForValue().get("object:user:"+id);//先查redis(缓存工具)
    if (user == null) {
        //没读取到就从数据库中读取
        System.out.println("从数据库读取");
        user=userMapper.selectByPrimaryKey(id);
        //将查到的user存入缓存工具当中redis
        redisTemplate.opsForValue().set("object:user:"+id, user);
    }
    return user;
}

2.结果展示

总结:加快我们的读取速度

相关推荐
栈与堆6 分钟前
LeetCode 19 - 删除链表的倒数第N个节点
java·开发语言·数据结构·python·算法·leetcode·链表
豆苗学前端7 分钟前
你所不知道的前端知识,html篇(更新中)
前端·javascript·面试
一路向北·重庆分伦8 分钟前
03-01:MQ常见问题梳理
java·开发语言
一 乐9 分钟前
绿色农产品销售|基于springboot + vue绿色农产品销售系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·后端·宠物
zzjyr9 分钟前
Webpack 生命周期原理深度解析
前端
xiaohe060112 分钟前
💘 霸道女总裁爱上前端开发的我
前端·游戏开发·trae
lhrimperial15 分钟前
企业智能知识库助手落地实践:从RAG到Multi-Agent
java·spring cloud·微服务·系统架构·知识图谱
sophie旭15 分钟前
内存泄露排查之我的微感受
前端·javascript·性能优化
Codeking__17 分钟前
Redis初识——什么是Redis
数据库·redis·mybatis
3***688420 分钟前
Spring Boot中使用Server-Sent Events (SSE) 实现实时数据推送教程
java·spring boot·后端