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");
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}");
from("spring-redis://host:port?command=SUBSCRIBE&channels=myChannel")
.log("Received message: ${body}");
其中 '/host:port' 是用于运行 Redis 服务器的 URL 地址。
138.7.1. 由 Redis producer 评估的消息标头 复制链接链接已复制到粘贴板!
生产者向服务器发出命令,每个命令都有一组具有特定类型的参数。命令执行的结果在消息正文中返回。
| hash 命令 | 描述 | 参数 | 结果 |
|---|---|---|---|
|
| 设置散列字段的字符串值 |
| void |
|
| 获取 hash 字段的值 |
| 字符串 |
|
| 设置 hash 字段的值,只有在字段不存在时 |
| void |
|
| 将多个散列字段设置为多个值 |
| void |
|
| 获取所有给定哈希字段的值 |
| collection<Object> |
|
| 按给定数字递增 hash 字段的整数值 |
| Long |
|
| 确定是否存在哈希字段 |
| 布尔值 |
|
| 删除一个或多个哈希字段 |
| 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 | 从列表中弹出一个值,将其推送到另一个列表并返回它;或 block,直到有可用状态 |
| 对象 |
| BLPOP | 删除并获取列表中的第一个元素,或 block 直到可用为止 |
| 对象 |
| BRPOP | 删除并获取列表中的最后一个元素,或 block 直到可用为止 |
| 字符串 |
| 设置命令 | 描述 | 参数 | 结果 |
|---|---|---|---|
| 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 | 以 score 形式返回排序集合中的成员范围 |
| set<Object> |
| ZREVRANGEBYSCORE | 返回按分数排序集合中的一系列成员,分数从高到低 |
| set<Object> |
| ZREMRANGEBYRANK | 删除给定索引中的排序集合中的所有成员 |
| void |
| ZREMRANGEBYSCORE | 删除给定分数内排序集合中的所有成员 |
| void |
| ZUNIONSTORE | 添加多个排序的集合,并将生成的排序集存储在新键中 |
| void |
| ZINTERSTORE | 交集多个排序的集合,并将生成的排序集存储在新键中 |
| void |
| 字符串命令 | 描述 | 参数 | 结果 |
|---|---|---|---|
| SET | 设置键的字符串值 |
| void |
| GET | 获取键的值 |
| 对象 |
| STRLEN | 获取存储在键中的值的长度 |
| Long |
| 附加 | 将值附加到键 |
| 整数 |
| SETBIT | 在 key 中存储的字符串值中的偏移量设置或清除位 |
| 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 | 从键空间中返回一个随机键 |
| 字符串 |
| RENAME | 重命名密钥 |
| void |
| RENAMENX | 仅在新密钥不存在时重命名密钥 |
| 布尔值 |
| EXPIRE | 将密钥的时间设置为 live (以秒为单位) |
| 布尔值 |
| SORT | 对列表中的元素、设置或排序集进行排序 |
| List<Object> |
| PERSIST | 从密钥中删除过期时间 |
| 布尔值 |
| EXPIREAT | 将密钥的过期时间设置为 UNIX 时间戳 |
| 布尔值 |
| PEXPIRE | 以毫秒为单位将密钥时间设置为 live |
| 布尔值 |
| PEXPIREAT | 将密钥的过期时间设置为以毫秒为单位指定的 UNIX 时间戳 |
| 布尔值 |
| TTL | 获取密钥生存时间 |
| Long |
| MOVE | 将密钥移动到另一个数据库 |
| 布尔值 |
| 地理命令 | 描述 | 参数 | 结果 |
|---|---|---|---|
| GEOADD | 将指定的 geospatial items (latitude, longitude, name)添加到指定的键 |
| Long |
| GEODIST | 返回指定密钥的 geospatial 索引的两个成员之间的距离 |
| 距离 |
| GEOHASH | 返回有效的 Geohash 字符串,代表指定键的 geospatial 索引中某个元素的位置 |
| List<String> |
| GEOPOS | 返回指定键的 geospatial 索引中元素的位置(长,分位符) |
| List<Point> |
| GEORADIUS | 返回指定键的 geospatial 索引中的元素,它位于以中央位置指定的区域边界,以及来自中心(radius)的最大距离。 |
| GeoResults |
| GEORADIUSBYMEMBER | 此命令与 GEORADIUS 完全类似,而只用其唯一区别,因为要查询的区域中心(一个长期和 latitude 值),它会取已存在于指定键的地球索引中的成员名称 |
| GeoResults |
| 其他命令 | 描述 | 参数 | 结果 |
|---|---|---|---|
| MULTI | 标记事务块的开头 | none | void |
| DISCARD | 丢弃 MULTI 后发出的所有命令 | none | void |
| EXEC | 执行 MULTI 后发布的所有命令 | none | void |
| WATCH | 观察给定键以确定 MULTI/EXEC 块的执行 |
| void |
| UNWATCH | 忘记所有监视的密钥 | none | void |
| ECHO | 回显给定字符串 |
| 字符串 |
| PING | Ping 服务器 | none | 字符串 |
| QUIT | 关闭连接 | none | void |
| PUBLISH | 将消息发布到频道 |
| void |