60.6. 使用方法
另外,请参阅可用的 单元测试。
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 地址。
60.6.1. 由 Redis producer 评估的消息标头
制作者向服务器发出命令,每个命令都有一组具有特定类型的参数。命令执行的结果会在消息正文中返回。
哈希命令 | 描述 | 参数 | 结果 |
---|---|---|---|
| 设置 hash 字段的字符串值 |
| void |
| 获取 hash 字段的值 |
| 字符串 |
| 仅在字段不存在时才设置 hash 字段的值 |
| void |
| 将多个散列字段设置为多个值 |
| void |
| 获取所有给定哈希字段的值 |
| collection<Object> |
| 根据给定数字增加散列字段的整数值 |
| Long |
| 确定是否存在 hash 字段 |
| 布尔值 |
| 删除一个或多个散列字段 |
| void |
| 获取哈希中的字段数 |
| Long |
| 获取哈希中的所有字段 |
| set<String> |
| 获取哈希中的所有值 |
| collection<Object> |
| 获取哈希中的所有字段和值 |
| Map<String, Object> |
列出命令 | 描述 | 参数 | 结果 |
---|---|---|---|
RPUSH | 将一个或多个值附加到列表 |
| Long |
RPUSHX | 将值附加到列表中,只有在列表存在时 |
| Long |
LPUSH | 向列表前添加一个或多个值 |
| Long |
LLEN | 获取列表的长度 |
| Long |
LRANGE | 从列表中获取一系列元素 |
| List<Object> |
LTRIM | 将列表修剪到指定的范围 |
| void |
LINDEX | 按其索引从列表中获取元素 |
| 字符串 |
LINSERT | 在列表中的另一个元素前或之后插入一个元素 |
| Long |
LSET | 按其索引设置列表中的元素值 |
| void |
LREM | 从列表中删除元素 |
| Long |
LPOP | 删除并获取列表中的第一个元素 |
| 对象 |
RPOP | 删除并获取列表中的最后一个元素 |
| 字符串 |
RPOPLPUSH | 删除列表中的最后一个元素,将其附加到另一个列表中并返回它 |
| 对象 |
BRPOPLPUSH | 从列表中弹出一个值,将其推送到另一个列表并返回它;或阻止到某个列表可用 |
| 对象 |
BLPOP | 删除并获取列表中的第一个元素,或块直到可用为止 |
| 对象 |
BRPOP | 删除并获取列表中的最后一个元素,或块直到可用为止 |
| 字符串 |
设置命令 | 描述 | 参数 | 结果 |
---|---|---|---|
SADD | 在集合中添加一个或多个成员 |
| 布尔值 |
SMEMBERS | 获取集合中的所有成员 |
| set<Object> |
SREM | 从集合中删除一个或多个成员 |
| 布尔值 |
SPOP | 从集合中删除并返回随机成员 |
| 字符串 |
SMOVE | 将成员从一个集合移动到另一个集合 |
| 布尔值 |
SCARD | 获取集合中的成员数量 |
| Long |
SISMEMBER | 确定给定值是否是集合的成员 |
| 布尔值 |
SINTER | 交集多个集合 |
| set<Object> |
SINTERSTORE | 插入多个集合,并将生成的设置存储在键中 |
| void |
SUNION | 添加多个集合 |
| set<Object> |
SUNIONSTORE | 添加多个集合,并在键中保存生成的集合 |
| void |
SDIFF | 减去多个集合 |
| set<Object> |
SDIFFSTORE | 减去多个集合,并在键中保存生成的集合 |
| void |
SRANDMEMBER | 从集合中获取一个或多个随机成员 |
| 字符串 |
排序的集合命令 | 描述 | 参数 | 结果 |
---|---|---|---|
ZADD | 将一个或多个成员添加到排序集,或者更新其分数(如果已存在) |
| 布尔值 |
ZRANGE | 根据索引,在排序集中返回一系列成员 |
| 对象 |
ZREM | 从排序的集合中删除一个或多个成员 |
| 布尔值 |
ZINCRBY | 在排序的集合中递增成员分数 |
| � |
ZRANK | 在排序的集合中确定成员的索引 |
| Long |
ZREVRANK | 在排序的集合中确定成员的索引,分数从高到低排序 |
| Long |
ZREVRANGE | 按索引在排序集中返回一系列成员,分数从高到低排序 |
| 对象 |
ZCARD | 在排序的集合中获取成员数量 |
| Long |
ZCOUNT | 在给定值中使用分数设置中的成员计数 |
| Long |
ZRANGEBYSCORE | 按分数返回一系列成员(按分数排序) |
| set<Object> |
ZREVRANGEBYSCORE | 返回按分数排序的一系列成员,分数从高到低排序 |
| set<Object> |
ZREMRANGEBYRANK | 删除给定索引中排序集中的所有成员 |
| void |
ZREMRANGEBYSCORE | 删除在给定分数内排序集中的所有成员 |
| void |
ZUNIONSTORE | 添加多个排序的集合,并将生成的排序集合存储在新键中 |
| void |
ZINTERSTORE | 插入多个排序的集合,并将生成的排序集合存储在新键中 |
| void |
字符串命令 | 描述 | 参数 | 结果 |
---|---|---|---|
SET | 设置键的字符串值 |
| void |
GET | 获取键值 |
| 对象 |
STRLEN | 获取键中存储的值的长度 |
| Long |
附加 | 将值附加到键中 |
| 整数 |
SETBIT | 设置或清除存储在键的字符串值中的位 |
| void |
GETBIT | 在存储在键的字符串值中返回位值 |
| 布尔值 |
SETRANGE | 覆盖从指定偏移开始的密钥时字符串的一部分 |
| void |
GETRANGE | 获取存储在键中的字符串的子字符串 |
| 字符串 |
SETNX | 仅在键不存在时才设置键的值 |
| 布尔值 |
SETEX | 设置键的值和过期 |
| void |
DECRBY | 按给定数字减少键的整数值 |
| Long |
DECR | 逐一减少键的整数值 |
| Long |
INCRBY | 以给定数量递增键的整数值 |
| Long |
INCR | 递增键的整数值 |
| Long |
MGET | 获取所有给定键的值 |
| List<Object> |
MSET | 将多个键设置为多个值 |
| void |
MSETNX | 将多个键设置为多个值,只有在不存在键时 |
| void |
GETSET | 设置键的字符串值,并返回其旧值 |
| 对象 |
关键命令 | 描述 | 参数 | 结果 |
---|---|---|---|
EXISTS | 确定键是否存在 |
| 布尔值 |
DEL | 删除密钥 |
| void |
TYPE | 确定存储在密钥中的类型 |
| DataType |
KEYS | 查找与给定模式匹配的所有键 |
| collection<String> |
RANDOMKEY | 从 keyspace 返回随机密钥 |
| 字符串 |
RENAME | 重命名密钥 |
| void |
RENAMENX | 只有在新密钥不存在时才重命名密钥 |
| 布尔值 |
EXPIRE | 将密钥的时间设置为 live (以秒为单位) |
| 布尔值 |
SORT | 对列表中的元素、设置或排序集中进行排序 |
| List<Object> |
PERSIST | 从密钥中删除过期 |
| 布尔值 |
EXPIREAT | 将密钥的过期时间设置为 UNIX 时间戳 |
| 布尔值 |
PEXPIRE | 以毫秒为单位设置密钥的生存时间 |
| 布尔值 |
PEXPIREAT | 将密钥的过期时间设置为以毫秒为单位指定的 UNIX 时间戳 |
| 布尔值 |
TTL | 获取密钥实时的时间 |
| Long |
MOVE | 将密钥移动到另一个数据库 |
| 布尔值 |
地理命令 | 描述 | 参数 | 结果 |
---|---|---|---|
GEOADD | 将指定的 geospatial 项(latitude、yitude、name)添加到指定的键中 |
| Long |
GEODIST | 返回指定密钥的 geospatial 索引的两个成员之间的距离 |
| distance |
GEOHASH | 返回代表指定键的 geospatial 索引中元素位置的有效 Geohash 字符串 |
| List<String> |
GEOPOS | 返回指定键的 geospatial 索引中的元素的位置(长、latitude) |
| List<Point> |
GEORADIUS | 返回指定密钥的 geospatial 索引中的元素,它位于使用中央位置指定的区域以及中心(radius)的最大距离。 |
| GeoResults |
GEORADIUSBYMEMBER | 该命令与 GEORADIUS 完全不同,而是作为查询的区域中心、冗长和拉丁值,取指定密钥的 geospatial 索引中已存在的成员的名称 |
| GeoResults |
其他命令 | 描述 | 参数 | 结果 |
---|---|---|---|
MULTI | 标记事务块的开头 | none | void |
丢弃 | 丢弃 MULTI 后发布的所有命令 | none | void |
EXEC | 执行 MULTI 后发布的所有命令 | none | void |
WATCH | 观察给定密钥,以确定 MULTI/EXEC 块的执行 |
| void |
UNWATCH | 忘记所有监视的密钥 | none | void |
ECHO | 回显给定字符串 |
| 字符串 |
PING | 对服务器发出 ping 命令 | none | 字符串 |
QUIT | 关闭连接 | none | void |
PUBLISH | 向频道发布消息 |
| void |