当前位置: 首页 > news >正文

RedisTemplate类中的常用方法粗解(简单明了,预计5分钟看完)

在阅读项目代码过程中发现引用RedisTemplate 的方法操作redis时,都会有一些特定的ops ,对此好奇就查资料的情况下有了本博客。
操作之前付一张我们项目中的用到的地方的图

在这里插入图片描述

另外本文中的语言用到的是Java,附上试验用到的redisTemplete依赖

 <!--redis-->
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId><version>2.5.2</version>
</dependency>

查阅资料后总结如下:

1. 基本操作

opsForValue()

作用:获取 ValueOperations 对象,用于操作字符串类型的数据。(这里的方法只是一级方法,我们项目中还采用到了redisTemplate.opsForValue().setIfAbsent()用于实现和RedisService中的redisService.setNx(key, value)同样的效果)
示例:

    ValueOperations<String, String> valueOps = redisTemplate.opsForValue();valueOps.set("key", "value");
opsForHash()

作用:获取 HashOperations 对象,用于操作哈希类型的数据。
示例:

    HashOperations<String, String, String> hashOps = redisTemplate.opsForHash();hashOps.put("hashKey", "field", "value");
opsForList()

作用:获取 ListOperations 对象,用于操作列表类型的数据。
示例:

    ListOperations<String, String> listOps = redisTemplate.opsForList();listOps.rightPush("listKey", "value");
opsForSet()

作用:获取 SetOperations 对象,用于操作集合类型的数据。
示例:

    SetOperations<String, String> setOps = redisTemplate.opsForSet();setOps.add("setKey", "value");
opsForZSet()

作用:获取 ZSetOperations 对象,用于操作有序集合类型的数据。
示例:

    ZSetOperations<String, String> zSetOps = redisTemplate.opsForZSet();zSetOps.add("zSetKey", "value", 1.0);

ps:看到这里才明白,大量的ops实际上是因为operations这个单词的缩写…

除了一些基础的操作外还有一些对键的操作,对事务的操作,请继续往下看

2. 键操作

delete(K key)

作用:删除指定的键。
示例:

    redisTemplate.delete("key");
expire(K key, long timeout, TimeUnit unit)

作用:为指定的键设置过期时间。(这里我们项目中使用到了,用于设置特定数据的过期时间)
示例:

  redisTemplate.expire("key", 60, TimeUnit.SECONDS);
hasKey(K key)

作用:检查指定的键是否存在。
示例:

    boolean exists = redisTemplate.hasKey("key");

事务操作

multi()

作用:开始一个事务。
示例:

 redisTemplate.multi();
exec()

作用:提交事务。
示例:

    List<Object> results = redisTemplate.exec();
discard()

作用:放弃事务。
示例:

redisTemplate.discard();

4.其他操作

boundValueOps(K key)

作用:获取一个绑定到指定键的 BoundValueOperations 对象,用于操作字符串类型的数据。
示例:

BoundValueOperations<String, String> boundValueOps = redisTemplate.boundValueOps("key");
boundValueOps.set("value");
boundHashOps(K key)

作用:获取一个绑定到指定键的 BoundHashOperations 对象,用于操作哈希类型的数据。
示例:

BoundHashOperations<String, String, String> boundHashOps = redisTemplate.boundHashOps("hashKey");
boundHashOps.put("field", "value");
boundListOps(K key)

作用:获取一个绑定到指定键的 BoundListOperations 对象,用于操作列表类型的数据。
示例:

BoundListOperations<String, String> boundListOps = redisTemplate.boundListOps("listKey");
boundListOps.rightPush("value");
boundSetOps(K key)

作用:获取一个绑定到指定键的 BoundSetOperations 对象,用于操作集合类型的数据。
示例:

BoundSetOperations<String, String> boundSetOps = redisTemplate.boundSetOps("setKey");
boundSetOps.add("value");
boundZSetOps(K key)

作用:获取一个绑定到指定键的 BoundZSetOperations 对象,用于操作有序集合类型的数据。
示例:

 BoundZSetOperations<String, String> boundZSetOps = redisTemplate.boundZSetOps("zSetKey");boundZSetOps.add("value", 1.0);

总体来讲,RedisTemplate 类提供了丰富的操作方法,涵盖了 Redis 的各种数据类型和操作。很多细节性质的方法还是需要通过不断的去实践才能熟练运用。

http://www.lryc.cn/news/476786.html

相关文章:

  • 鸿蒙ArkTS中的布局容器组件(Column、Row、Flex、 Stack、Grid)
  • 显存占用 显存测试
  • 快速入门CSS
  • AcWing 1073 树的中心 树形dp (详解)
  • modelscope下载Qwen2.5 72B 模型方法
  • 重学SpringBoot3-整合 Elasticsearch 8.x (二)使用Repository
  • 为什么说模拟电路的难点就在开通过程和关断过程?难在什么地方?
  • CubeIDE BUG-project‘hello‘has no explict encoding set hello
  • 在线PDF转图片网站
  • ps和top的区别
  • 自动驾驶上市潮中,会诞生下一个“英伟达”吗?
  • CSS 计数器:深入解析与高级应用
  • 【真题笔记】15年系统架构设计师要点总结
  • 斗破C++编程入门系列之三十九:多态性:纯虚函数和抽象类(四星斗师)
  • 目前美国的互联网环境
  • 从最小作用量原理推导牛顿三大定律
  • 【系统集成项目管理工程师教程】第4章 信息系统架构
  • docker下迁移elasticsearch的问题与解决方案
  • 占地1.1万平,2亿投资的智能仓储系统:高架库、AGV、码垛机器人……
  • 一个小程序如何对接多个收款账户?
  • L2G4000 InternVL 部署微调实践闯关任务
  • asynDriver-6-端口驱动
  • [免费]基于Python的Django+Vue3在线考试系统【论文+源码+SQL脚本】
  • Python使用爬虫
  • CommunityToolkit.Mvvm如何使用
  • Python小游戏20——超级玛丽
  • 配置文件格式(xml、properties、yml/yaml)
  • CentOS 7 软件/程序安装示例
  • Python绘制正弦函数图形
  • 【LVGL-列表部件 lv_list_create】