138.7. 使用方法


另外,请参阅可用的 单元测试

Redis Producer

from(“direct:start”)
    .setHeader("CamelRedis.Key", constant(key))
    .setHeader("CamelRedis.Value", constant(value))
    .to("spring-redis://host:port?command=SET&redisTemplate=#redisTemplate");
Copy to Clipboard Toggle word wrap

redis Consumer

from("spring-redis://host:port?command=SUBSCRIBE&channels=myChannel")
   .log("Received message: ${body}");
Copy to Clipboard Toggle word wrap

注意

其中 '/host:port' 是用于运行 Redis 服务器的 URL 地址。

138.7.1. 由 Redis producer 评估的消息标头

生产者向服务器发出命令,每个命令都有一组具有特定类型的参数。命令执行的结果在消息正文中返回。

Expand
hash 命令描述参数结果

HSET

设置散列字段的字符串值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.FIELD/"CamelRedis.Field" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

void

HGET

获取 hash 字段的值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.FIELD/"CamelRedis.Field" (String)

字符串

HSETNX

设置 hash 字段的值,只有在字段不存在时

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.FIELD/"CamelRedis.Field" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

void

HMSET

将多个散列字段设置为多个值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUES/"CamelRedis.Values" (Map<String, Object>)

void

HMGET

获取所有给定哈希字段的值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.FIELDS/"CamelRedis.Filds" (Collection<String>)

collection<Object>

HINCRBY

按给定数字递增 hash 字段的整数值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.FIELD/"CamelRedis.Field" (String), RedisConstants.VALUE/"CamelRedis.Value" (Long)

Long

HEXISTS

确定是否存在哈希字段

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.FIELD/"CamelRedis.Field" (String)

布尔值

HDEL

删除一个或多个哈希字段

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.FIELD/"CamelRedis.Field" (String)

void

HLEN

获取哈希中的字段数

RedisConstants.KEY/"CamelRedis.Key" (String)

Long

HKEYS

获取哈希中的所有字段

RedisConstants.KEY/"CamelRedis.Key" (String)

Set<String>

HVALS

获取哈希中的所有值

RedisConstants.KEY/"CamelRedis.Key" (String)

collection<Object>

HGETALL

获取哈希中的所有字段和值

RedisConstants.KEY/"CamelRedis.Key" (String)

Map<String, Object>

Expand
列出命令描述参数结果

RPUSH

在列表中添加一个或多个值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

Long

RPUSHX

只有在列表存在时,才会将值附加到列表

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

Long

LPUSH

为列表添加一个或多个值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

Long

LLEN

获取列表的长度

RedisConstants.KEY/"CamelRedis.Key" (String)

Long

LRANGE

从列表获取一系列元素

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.START/"CamelRedis.Start"Long), RedisConstants.END/"CamelRedis.End" (Long)

List<Object>

LTRIM

将列表修剪到指定的范围

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.START/"CamelRedis.Start"Long), RedisConstants.END/"CamelRedis.End" (Long)

void

LINDEX

通过索引从列表获取元素

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.INDEX/"CamelRedis.Index" (Long)

字符串

LINSERT

在列表中的另一个元素之前或之后插入元素

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object), RedisConstants.PIVOT/"CamelRedis.Pivot" (String), RedisConstants.POSITION/"CamelRedis.Position" (String)

Long

LSET

根据索引在列表中设置元素值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object), RedisConstants.INDEX/"CamelRedis.Index" (Long)

void

LREM

从列表中选择元素

RedisConstants.KEY/RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object), RedisConstants.COUNT/"CamelRedis.Count" (Long)

Long

LPOP

删除并获取列表中的第一个元素

RedisConstants.KEY/"CamelRedis.Key" (String)

对象

RPOP

删除并获取列表中的最后一个元素

RedisConstants.KEY/"CamelRedis.Key" (String)

字符串

RPOPLPUSH

删除列表中的最后一个元素,将其附加到另一个列表并返回它

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.DESTINATION/"CamelRedis.Destination" (String)

对象

BRPOPLPUSH

从列表中弹出一个值,将其推送到另一个列表并返回它;或 block,直到有可用状态

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.DESTINATION/"CamelRedis.Destination" (String), RedisConstants.TIMEOUT/"CamelRedis.Timeout" (Long)

对象

BLPOP

删除并获取列表中的第一个元素,或 block 直到可用为止

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.TIMEOUT/"CamelRedis.Timeout" (Long)

对象

BRPOP

删除并获取列表中的最后一个元素,或 block 直到可用为止

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.TIMEOUT/"CamelRedis.Timeout" (Long)

字符串

Expand
设置命令描述参数结果

SADD

为集合添加一个或多个成员

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

布尔值

SMEMBERS

获取集合中的所有成员

RedisConstants.KEY/"CamelRedis.Key" (String)

set<Object>

SREM

从集合中删除一个或多个成员

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

布尔值

SPOP

从集合中删除并返回随机成员

RedisConstants.KEY/"CamelRedis.Key" (String)

字符串

SMOVE

将成员从一个集合移到另一个集合

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object), RedisConstants.DESTINATION/"CamelRedis.Destination" (String)

布尔值

SCARD

获取集合中成员数量

RedisConstants.KEY/"CamelRedis.Key" (String)

Long

SISMEMBER

确定给定值是否为集合的成员

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

布尔值

SINTER

交集多个集合

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.KEYS/"CamelRedis.Keys" (String)

set<Object>

SINTERSTORE

交集多个集合,并将结果集存储在密钥中

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.KEYS/"CamelRedis.Keys" (String), RedisConstants.DESTINATION/"CamelRedis.Destination" (String)

void

SUNION

添加多个集合

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.KEYS/"CamelRedis.Keys" (String)

set<Object>

SUNIONSTORE

添加多个集合并将生成的集合存储在密钥中

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.KEYS/"CamelRedis.Keys" (String), RedisConstants.DESTINATION/"CamelRedis.Destination" (String)

void

SDIFF

减去多个集合

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.KEYS/"CamelRedis.Keys" (String)

set<Object>

SDIFFSTORE

减去多个集合,并将生成的集合存储在键中

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.KEYS/"CamelRedis.Keys" (String), RedisConstants.DESTINATION/"CamelRedis.Destination" (String)

void

SRANDMEMBER

从集合中获取一个或多个随机成员

RedisConstants.KEY/"CamelRedis.Key" (String)

字符串

Expand
排序的设置命令描述参数结果

ZADD

为排序集添加一个或多个成员,或者更新其分数(如果已存在)

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object), RedisConstants.SCORE/"CamelRedis.Score" (Double)

布尔值

ZRANGE

按索引返回排序集合中的成员范围

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.START/"CamelRedis.Start"Long), RedisConstants.END/"CamelRedis.End" (Long), RedisConstants.WITHSCORE/"CamelRedis.WithScore" (Boolean)

对象

ZREM

从排序的集合中删除一个或多个成员

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

布尔值

ZINCRBY

以排序集递增成员分数

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object), RedisConstants.INCREMENT/"CamelRedis.Increment" (Double)

�

ZRANK

确定排序集合中成员的索引

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

Long

ZREVRANK

确定排序集合中成员的索引,分数从高到低

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

Long

ZREVRANGE

按索引返回排序集合中的一系列成员,分数从高到低

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.START/"CamelRedis.Start"Long), RedisConstants.END/"CamelRedis.End" (Long), RedisConstants.WITHSCORE/"CamelRedis.WithScore" (Boolean)

对象

ZCARD

获取排序集合中的成员数量

RedisConstants.KEY/"CamelRedis.Key" (String)

Long

ZCOUNT

计算在给定值中使用分数设置的排序中的成员

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.MIN/"CamelRedis.Min" (Double), RedisConstants.MAX/"CamelRedis.Max" (Double)

Long

ZRANGEBYSCORE

以 score 形式返回排序集合中的成员范围

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.MIN/"CamelRedis.Min" (Double), RedisConstants.MAX/"CamelRedis.Max" (Double)

set<Object>

ZREVRANGEBYSCORE

返回按分数排序集合中的一系列成员,分数从高到低

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.MIN/"CamelRedis.Min" (Double), RedisConstants.MAX/"CamelRedis.Max" (Double)

set<Object>

ZREMRANGEBYRANK

删除给定索引中的排序集合中的所有成员

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.START/"CamelRedis.Start" (Long), RedisConstants.END/"CamelRedis.End" (Long)

void

ZREMRANGEBYSCORE

删除给定分数内排序集合中的所有成员

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.START/"CamelRedis.Start" (Long), RedisConstants.END/"CamelRedis.End" (Long)

void

ZUNIONSTORE

添加多个排序的集合,并将生成的排序集存储在新键中

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.KEYS/"CamelRedis.Keys" (String), RedisConstants.DESTINATION/"CamelRedis.Destination" (String)

void

ZINTERSTORE

交集多个排序的集合,并将生成的排序集存储在新键中

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.KEYS/"CamelRedis.Keys" (String), RedisConstants.DESTINATION/"CamelRedis.Destination" (String)

void

Expand
字符串命令描述参数结果

SET

设置键的字符串值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

void

GET

获取键的值

RedisConstants.KEY/"CamelRedis.Key" (String)

对象

STRLEN

获取存储在键中的值的长度

RedisConstants.KEY/"CamelRedis.Key" (String)

Long

附加

将值附加到键

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (String)

整数

SETBIT

在 key 中存储的字符串值中的偏移量设置或清除位

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.OFFSET/"CamelRedis.Offset" (Long), RedisConstants.VALUE/"CamelRedis.Value" (Boolean)

void

GETBIT

返回存储在键的字符串值中的偏移值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.OFFSET/"CamelRedis.Offset" (Long)

布尔值

SETRANGE

覆盖从指定偏移开始的键的一部分

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object), RedisConstants.OFFSET/"CamelRedis.Offset" (Long)

void

GETRANGE

获取存储在键的字符串的子字符串

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.START/"CamelRedis.Start" (Long), RedisConstants.END/"CamelRedis.End" (Long)

字符串

SETNX

设置键的值,只有在键不存在时才

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

布尔值

SETEX

设置键的值和过期

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object), RedisConstants.TIMEOUT/"CamelRedis.Timeout" (Long), SECONDS

void

DECRBY

按给定数字减少键的值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Long)

Long

DECR

逐一减少键的整数值

RedisConstants.KEY/"CamelRedis.Key" (String),

Long

INCRBY

按给定数量递增键的整数值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Long)

Long

INCR

逐个递增键的整数值

RedisConstants.KEY/"CamelRedis.Key" (String)

Long

MGET

获取所有给定键的值

RedisConstants.FIELDS/"CamelRedis.Filds" (Collection<String>)

List<Object>

MSET

将多个键设置为多个值

RedisConstants.VALUES/"CamelRedis.Values" (Map<String, Object>)

void

MSETNX

将多个键设置为多个值,只有在所有键都不存在时才

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

void

GETSET

设置键的字符串值并返回其旧值

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

对象

Expand
键命令描述参数结果

EXISTS

确定是否存在密钥

RedisConstants.KEY/"CamelRedis.Key" (String)

布尔值

DEL

删除密钥

RedisConstants.KEYS/"CamelRedis.Keys" (String)

void

TYPE

确定保存在密钥中的类型

RedisConstants.KEY/"CamelRedis.Key" (String)

DataType

KEYS

查找与给定模式匹配的所有键

RedisConstants.PATERN/"CamelRedis.Pattern" (String)

collection<String>

RANDOMKEY

从键空间中返回一个随机键

RedisConstants.PATERN/"CamelRedis.Pattern" (String), RedisConstants.VALUE/"CamelRedis.Value" (String)

字符串

RENAME

重命名密钥

RedisConstants.KEY/"CamelRedis.Key" (String)

void

RENAMENX

仅在新密钥不存在时重命名密钥

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (String)

布尔值

EXPIRE

将密钥的时间设置为 live (以秒为单位)

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.TIMEOUT/"CamelRedis.Timeout" (Long)

布尔值

SORT

对列表中的元素、设置或排序集进行排序

RedisConstants.KEY/"CamelRedis.Key" (String)

List<Object>

PERSIST

从密钥中删除过期时间

RedisConstants.KEY/"CamelRedis.Key" (String)

布尔值

EXPIREAT

将密钥的过期时间设置为 UNIX 时间戳

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.TIMESTAMP/"CamelRedis.Timestamp" (Long)

布尔值

PEXPIRE

以毫秒为单位将密钥时间设置为 live

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.TIMEOUT/"CamelRedis.Timeout" (Long)

布尔值

PEXPIREAT

将密钥的过期时间设置为以毫秒为单位指定的 UNIX 时间戳

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.TIMESTAMP/"CamelRedis.Timestamp" (Long)

布尔值

TTL

获取密钥生存时间

RedisConstants.KEY/"CamelRedis.Key" (String)

Long

MOVE

将密钥移动到另一个数据库

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.DB/"CamelRedis.Db" (Integer)

布尔值

Expand
地理命令描述参数结果

GEOADD

将指定的 geospatial items (latitude, longitude, name)添加到指定的键

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.LATITUDE/"CamelRedis.Latitude" (Double), RedisConstants.LONGITUDE/"CamelRedis.Longitude" (Double), RedisConstants.VALUE/"CamelRedis.Value" (Object)

Long

GEODIST

返回指定密钥的 geospatial 索引的两个成员之间的距离

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUES/"CamelRedis.Values" (Object[])

距离

GEOHASH

返回有效的 Geohash 字符串,代表指定键的 geospatial 索引中某个元素的位置

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

List<String>

GEOPOS

返回指定键的 geospatial 索引中元素的位置(长,分位符)

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object)

List<Point>

GEORADIUS

返回指定键的 geospatial 索引中的元素,它位于以中央位置指定的区域边界,以及来自中心(radius)的最大距离。

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.LATITUDE/"CamelRedis.Latitude" (Double), RedisConstants.LONGITUDE/"CamelRedis.Longitude" (Double), RedisConstants.RADIUS/"CamelRedis.Radius" (Double), RedisConstants.COUNT" /CamelRedis" (Double), RedisConstants.RADIUS /(Double)

GeoResults

GEORADIUSBYMEMBER

此命令与 GEORADIUS 完全类似,而只用其唯一区别,因为要查询的区域中心(一个长期和 latitude 值),它会取已存在于指定键的地球索引中的成员名称

RedisConstants.KEY/"CamelRedis.Key" (String), RedisConstants.VALUE/"CamelRedis.Value" (Object), RedisConstants.RADIUS/"CamelRedis.Radius" (Double), RedisConstants.COUNT/"CamelRedis.Count" (Integer)

GeoResults

Expand
其他命令描述参数结果

MULTI

标记事务块的开头

none

void

DISCARD

丢弃 MULTI 后发出的所有命令

none

void

EXEC

执行 MULTI 后发布的所有命令

none

void

WATCH

观察给定键以确定 MULTI/EXEC 块的执行

RedisConstants.KEYS/"CamelRedis.Keys" (String)

void

UNWATCH

忘记所有监视的密钥

none

void

ECHO

回显给定字符串

RedisConstants.VALUE/"CamelRedis.Value" (String)

字符串

PING

Ping 服务器

none

字符串

QUIT

关闭连接

none

void

PUBLISH

将消息发布到频道

RedisConstants.CHANNEL/"CamelRedis.Channel" (String), RedisConstants.MESSAGE/"CamelRedis.Message" (Object)

void

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部