redis学习

这段代码是一个JUnit测试方法,主要演示了如何使用Spring的RedisTemplate执行一些基本的操作,包括数据的插入、查询和删除。下面逐行注释和解释相关代码的原理、逻辑、功能以及相关的应用场景:

@Test
void test() {
    // 获取Redis的ValueOperations,用于进行字符串值的操作
    ValueOperations valueOperations = redisTemplate.opsForValue();
    
    // 增加不同类型的数据到Redis缓存
    valueOperations.set("yupiString", "dog"); // 存储字符串
    valueOperations.set("yupiInt", 1); // 存储整数
    valueOperations.set("yupiDouble", 2.0); // 存储双精度浮点数
    
    // 创建一个自定义的User对象,并存储到Redis,这里使用对象的序列化
    User user = new User();
    user.setId(1L);
    user.setUsername("yupi");
    valueOperations.set("yupiUser", user);
    
    // 从Redis中查询不同类型的数据,并使用断言验证结果
    Object yupi = valueOperations.get("yupiString"); // 查询字符串
    Assertions.assertTrue("dog".equals((String) yupi));
    
    yupi = valueOperations.get("yupiInt"); // 查询整数
    Assertions.assertTrue(1 == (Integer) yupi);
    
    yupi = valueOperations.get("yupiDouble"); // 查询双精度浮点数
    Assertions.assertTrue(2.0 == (Double) yupi);
    
    // 打印从Redis中查询的User对象
    System.out.println(valueOperations.get("yupiUser"));
    
    // 删除Redis中名为"yupiString"的缓存项
    valueOperations.set("yupiString", "dog");
    redisTemplate.delete("yupiString");
}

代码原理、逻辑和功能:

  1. 通过redisTemplate.opsForValue()获取Redis的ValueOperations对象,用于执行字符串值的操作。

  2. 使用valueOperations.set(...)方法将不同类型的数据存储到Redis中,包括字符串、整数、双精度浮点数和自定义的User对象。

  3. 使用valueOperations.get(...)方法从Redis中查询不同类型的数据,并使用JUnit的Assertions进行断言验证结果是否符合预期。

  4. 最后,通过redisTemplate.delete(...)方法删除名为"yupiString"的缓存项。

应用场景:

  • 数据缓存:将常用的数据存储在Redis中,以加速数据访问,减轻数据库压力。
  • 分布式锁:使用Redis实现分布式锁,确保多个系统不会同时操作某一资源。
  • 会话管理:将用户会话信息存储在Redis中,以实现分布式系统的用户认证和授权。
  • 实时统计:记录网站或应用的实时访问量、在线用户数等信息。
  • 数据共享:不同微服务之间共享数据,例如,用户信息、配置信息等。

通过这些操作,可以提高系统性能、降低数据库负载,并实现分布式系统的各种功能。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕昀hui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值