搜索

64.6. 使用方法

download PDF

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

Redis Producer

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

redis Consumer

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

注意

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

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

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

哈希命令描述参数结果

HSET

设置 hash 字段的字符串值

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

根据给定数字增加散列字段的整数值

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

Long

HEXISTS

确定是否存在 hash 字段

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>

列出命令描述参数结果

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

从列表中弹出一个值,将其推送到另一个列表并返回它;或阻止到某个列表可用

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

对象

BLPOP

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

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

对象

BRPOP

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

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

字符串

设置命令描述参数结果

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)

字符串

排序的集合命令描述参数结果

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

按分数返回一系列成员(按分数排序)

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

字符串命令描述参数结果

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

设置或清除存储在键的字符串值中的位

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)

对象

关键命令描述参数结果

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

从 keyspace 返回随机密钥

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

以毫秒为单位设置密钥的生存时间

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)

布尔值

地理命令描述参数结果

GEOADD

将指定的 geospatial 项(latitude、yitude、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[])

distance

GEOHASH

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

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

List<String>

GEOPOS

返回指定键的 geospatial 索引中的元素的位置(长、latitude)

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.Count" (Integer)

GeoResults

GEORADIUSBYMEMBER

该命令与 GEORADIUS 完全不同,而是作为查询的区域中心、冗长和拉丁值,取指定密钥的 geospatial 索引中已存在的成员的名称

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

GeoResults

其他命令描述参数结果

MULTI

标记事务块的开头

none

void

丢弃

丢弃 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 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

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

© 2024 Red Hat, Inc.