【Redis】RedisTemplate数据的常用API

news/2025/1/19 22:23:35/

1. String 类型操作

  • set(K key, V value) 设置指定 key 的值。
  • set(K key, V value, long timeout, TimeUnit unit) 设置指定 key 的值,并指定过期时间。
  • get(K key) 获取指定 key 的值。
  • getAndSet(K key, V value) 获取指定 key 的旧值,并设置新值。
  • multiGet(Collection<K> keys) 批量获取多个 key 的值。
  • increment(K key, long delta) 将指定 key 的值增加指定增量(原子操作)。
  • increment(K key, double delta) 将指定 key 的值增加指定浮点数增量(原子操作)。
  • decrement(K key, long delta) 将指定 key 的值减少指定减量(原子操作)。
  • append(K key, String value) 在指定 key 的值的末尾追加字符串。
  • size(K key) 获取指定 key 的值的长度。
  • setIfAbsent(K key, V value) 如果 key 不存在,则设置 key 的值。

2. List 类型操作

  • leftPush(K key, V value) 将 value 插入到列表头部。
  • leftPushAll(K key, V... values) 将多个 value 插入到列表头部。
  • leftPushAll(K key, Collection<V> values) 将多个 value 插入到列表头部。
  • rightPush(K key, V value) 将 value 插入到列表尾部。
  • rightPushAll(K key, V... values) 将多个 value 插入到列表尾部。
  • rightPushAll(K key, Collection<V> values) 将多个 value 插入到列表尾部。
  • leftPop(K key) 移除并返回列表头部的元素。
  • rightPop(K key) 移除并返回列表尾部的元素。
  • index(K key, long index) 获取指定索引位置的元素。
  • range(K key, long start, long end) 获取指定范围内的元素列表。
  • trim(K key, long start, long end) 截取列表指定范围内的元素。
  • size(K key) 获取列表的长度。
  • remove(K key, long count, Object value) 从列表中删除指定数量的指定元素。
  • set(K key, long index, V value) 设置列表中指定索引位置的元素。

3. Set 类型操作

  • add(K key, V... values) 将一个或多个值添加到集合中。
  • members(K key) 获取集合中的所有元素。
  • size(K key) 获取集合的长度。
  • remove(K key, Object... values) 从集合中删除一个或多个元素。
  • pop(K key) 随机移除并返回集合中的一个元素。
  • isMember(K key, Object value) 判断指定元素是否在集合中。
  • intersect(K key, K otherKey) 求两个集合的交集。
  • intersect(K key, Collection<K> otherKeys) 求一个集合与多个集合的交集。
  • union(K key, K otherKey) 求两个集合的并集。
  • union(K key, Collection<K> otherKeys) 求一个集合与多个集合的并集。
  • difference(K key, K otherKey) 求两个集合的差集。
  • difference(K key, Collection<K> otherKeys) 求一个集合与多个集合的差集。
  • randomMember(K key) 随机获取集合中的一个元素。
  • randomMembers(K key, long count) 随机获取集合中的多个元素。
  • distinctRandomMembers(K key, long count) 随机获取集合中的多个不重复元素。

4. ZSet (Sorted Set) 类型操作

  • add(K key, V value, double score) 将一个带有指定分数的元素添加到有序集合中。
  • add(K key, Set<TypedTuple<V>> tuples): 将多个带有分数的元素添加到有序集合中
  • range(K key, long start, long end) 获取指定范围内的元素列表,按分数从小到大排序。
  • reverseRange(K key, long start, long end) 获取指定范围内的元素列表,按分数从大到小排序。
  • rangeWithScores(K key, long start, long end) 获取指定范围内的元素和分数列表,按分数从小到大排序。
  • reverseRangeWithScores(K key, long start, long end) 获取指定范围内的元素和分数列表,按分数从大到小排序。
  • rangeByScore(K key, double min, double max) 获取指定分数范围内的元素列表,按分数从小到大排序。
  • rangeByScore(K key, double min, double max, long offset, long count) 获取指定分数范围内的元素列表,并分页。
  • reverseRangeByScore(K key, double min, double max) 获取指定分数范围内的元素列表,按分数从大到小排序。
    reverseRangeByScore(K key, double min, double max, long offset, long count) 获取指定分数范围内的元素列表,按分数从大到小排序并分页。
  • score(K key, Object value) 获取指定元素的分数。
  • remove(K key, Object... values) 从有序集合中删除一个或多个元素。
  • removeRange(K key, long start, long end) 移除指定索引范围内的元素。
  • removeRangeByScore(K key, double min, double max) 移除指定分数范围内的元素。
  • incrementScore(K key, V value, double delta) 将指定元素的分数增加指定增量。
  • rank(K key, Object value) 获取指定元素的排名(按分数从小到大排序)。
  • reverseRank(K key, Object value) 获取指定元素的排名(按分数从大到小排序)。
  • size(K key) 获取有序集合的长度。
  • count(K key, double min, double max) 获取指定分数范围内的元素个数。

5. Hash 类型操作

  • put(K key, HK hashKey, HV value) 设置 Hash 中的 field 和 value。
  • putAll(K key, Map<? extends HK, ? extends HV> m) 设置 Hash 中的多个 field 和 value。
  • get(K key, Object hashKey) 获取 Hash 中指定 field 的 value。
  • multiGet(K key, Collection<HK> hashKeys) 获取 Hash 中多个 field 的 value。
  • entries(K key) 获取 Hash 中所有的 field 和 value,返回一个 Map。
  • keys(K key) 获取 Hash 中所有的 field,返回一个 Set。
  • values(K key) 获取 Hash 中所有的 value,返回一个 List。
  • size(K key) 获取 Hash 中的 field 数量。
  • delete(K key, Object... hashKeys) 删除 Hash 中指定的 field。
  • hasKey(K key, Object hashKey) 判断 Hash 中是否存在指定的 field。
  • increment(K key, HK hashKey, long delta) 将 Hash 中指定 field 的值增加指定增量(原子操作)。
  • increment(K key, HK hashKey, double delta) 将 Hash 中指定 field 的值增加指定浮点数增量(原子操作)。


http://www.ppmy.cn/news/1564513.html

相关文章

分布式项目新选择:Dubbo搭建方案

在当今的数字化时代&#xff0c;构建高性能、可扩展的分布式系统已成为众多企业应对业务增长和技术挑战的关键。Dubbo&#xff0c;作为阿里巴巴开源的一款高性能、轻量级的Java RPC框架&#xff0c;为Java开发者提供了一套完善的分布式服务治理方案。本文将详细介绍如何使用Dub…

K8S中Pod控制器之Deployment(Deploy)控制器

Deployment(Deploy)控制器 从Kubernetes 1.2版本开始&#xff0c;引入了Deployment控制器&#xff0c;它提供了一种更高级别的抽象来管理应用的生命周期&#xff0c;包括应用的声明式更新、回滚、暂停和恢复等。Deployment的设计目标是简化应用的部署和扩展&#xff0c;同时提供…

JS宏进阶: 工厂函数与构造函数

一、构造函数 在JavaScript中&#xff0c;构造函数是一种用于创建和初始化对象的特殊函数。构造函数的名字通常以大写字母开头&#xff0c;以区分于普通函数。通过new关键字调用构造函数&#xff0c;可以创建一个新的实例对象&#xff0c;并自动执行构造函数内部的代码来初始化…

【硬件介绍】Type-C接口详解

一、Type-C接口概述 Type-C接口特点&#xff1a;以其独特的扁头设计和无需区分正反两面的便捷性而广受欢迎。这种设计大大提高了用户的使用体验&#xff0c;避免了传统USB接口需要多次尝试才能正确插入的问题。Type-C接口内部结构&#xff1a;内部上下两排引脚的设计虽然可能不…

深入理解 SQL 中的 DATEDIFF 函数

深入理解 SQL 中的 DATEDIFF 函数 DATEDIFF 函数在 SQL 中是一个用于计算两个日期之间差值的重要工具。不同数据库实现了不同版本的 DATEDIFF&#xff0c;它们在功能和语法上有所不同。本文将详细解析 DATEDIFF 的用法、数据库间差异、复杂场景中的应用&#xff0c;以及替代方…

从零到一:Spring Boot 与 RocketMQ 的完美集成指南

1.Rocket的概念与原理 RocketMQ 是一款由阿里巴巴开源的分布式消息中间件&#xff0c;最初用于支持阿里巴巴的海量业务。它基于发布-订阅模型&#xff0c;具备高吞吐、低延迟、高可用和强一致性的特点&#xff0c;适用于消息队列、大规模数据流处理等场景。以下是对 RocketMQ …

Ubuntu创建AndroidStudio快捷启动图标

一、下载linux环境的Anroid studio软件包 下载连接地址&#xff1a; 下载 Android Studio 和应用工具 - Android 开发者 | Android Developers 下载的文件为压缩包。进行解压后进入到bin目录下面&#xff0c;显示下面的文件列表 二、创建快捷启动图标 2.1 打开studio 如…