【Redis】RedisTemplate数据的常用API

server/2025/1/18 22:50:15/

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/server/159468.html

相关文章

C++笔记:打包独立运行的exe(在静态库中使用MFC)

从window7到window11都默认安装有C依赖库&#xff0c;见如下 但是一些企业用的特殊window版本可能没有这个依赖库&#xff0c;导致Visual Studio生成的exe无法运行&#xff08;报缺失dll&#xff09;&#xff0c;就需要打包生成时使用静态库依赖。 共两步&#xff1a; 第一步…

.netframwork模拟启动webapi服务并编写对应api接口

在.NET Framework环境中模拟启动Web服务&#xff0c;可以使用几种不同的方法。一个常见的选择是利用HttpListener类来创建一个简单的HTTP服务器&#xff0c;或者使用Owin/Katana库来自托管ASP.NET Web API或MVC应用。下面简要介绍Owin/Katana示例代码。这种方法更加灵活&#x…

Python语言的计算机基础

Python语言的计算机基础 绪论 在当今信息技术飞速发展的时代&#xff0c;编程已经成为了一种必备技能。Python凭借其简洁、易读和强大的功能&#xff0c;逐渐成为初学者学习编程的首选语言。本文将以Python语言为基础&#xff0c;探讨计算机科学的基本概念&#xff0c;并帮助…

自动驾驶占用网格预测

文章目录 需要阅读的文献&#xff1a;github论文仓库论文idea提取BEVFormer 需要阅读的文献&#xff1a; ⭐[ECCV 2024] SparseOcc 纯稀疏3D占用网络和 RayIoU 评估指标 ECCV 2024&#xff5c;OSP&#xff1a;自动驾驶全新建模方法&#xff0c;端到端输出任意位置的占用结果 S…

CSS3 2D 转换介绍

CSS3 中的 2D 转换&#xff08;2D Transforms&#xff09;允许你在二维平面上对元素进行操作&#xff0c;如移动、旋转、缩放和倾斜等&#xff0c;这可以让网页的布局和动画效果更加丰富多样。以下是一些主要的 2D 转换方法&#xff1a; 一、translate&#xff08;移动&#x…

使用 spring boot 2.5.6 版本时缺少 jvm 配置项

2.5.6我正在使用带有版本和springfox-boot-starter版本的Spring Boot 项目3.0.0。我的项目还包括一个WebSecurityConfig扩展WebSecurityConfigurerAdapter并实现WebMvcConfigurer的类。但是&#xff0c;我面临的问题是指标在端点jvm_memory_usage_after_gc_percent中不可见/act…

一文了解如何使用 DBeaver 管理 DolphinDB

在日常的数据开发、分析和数据库运维中&#xff0c;一款优秀的 IDE 能够极大地提升工作效率。DBEaver 是一款由 Java 编写的一站式跨平台连接器&#xff0c;其社区版本已能支持连接近百种数据库&#xff0c;受到广大开发者的喜爱。近期。DolphinDB 与 DBeaver 团队共同努力&…

list的迭代器模拟实现和迭代器失效(续)

文章目录 list的迭代器operator->普通迭代器和const迭代器迭代器模版迭代器失效析构拷贝构造赋值重载 initializer_list list的迭代器 对迭代器进行封装&#xff0c;迭代器的指针还是4个字节&#xff0c;在物理上是一样的&#xff0c;但是底层是完全不同的 迭代器是浅拷贝&a…