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.结果展示

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

相关推荐
曹牧3 分钟前
Java:BeanListHandler
java·数据库·oracle
白鸽(二般)7 小时前
MinIO Java Client API
java·开发语言
90后的晨仔7 小时前
从 H5 到 uni-app:一篇写给前端小白的"翻译指南"
前端·vue.js·前端框架
软萌萌的18 小时前
Java Spring Boot 修改yml配置&加载顺序规则
java·spring boot·python
陈随易8 小时前
moon,apt和yum之外linux系统命令安装新选择
前端·后端·程序员
IT小盘8 小时前
13-企业Prompt模板-角色任务约束与输出格式
java·前端·prompt
爱敲键盘的猴子8 小时前
Java并发编程 -- volatile
java·java并发
徐小夕9 小时前
开源!我用SQLite + DuckDB打造了一款可视化AI问数平台
前端·算法·github
leslie1189 小时前
babel笔记
前端
用户0595401744610 小时前
Redis 记忆存储踩坑实录:一个并发写入 Bug 让我排查了 4 小时
前端·css