用jsp做网站一般会用到什么软件,ui设计主要包括什么,北京米兰广告设计有限公司,北师大网页制作与网站建设键值商店的兰博基尼 Camel是最好的面包集成框架#xff0c;在本文中#xff0c;我将向您展示如何通过利用另一个出色的项目Redis使它更加强大。 Camel 2.11即将发布#xff0c;具有许多新功能#xff0c;错误修复和组件。 这些新组件中的几个是我创作的#xff0c; red… 键值商店的兰博基尼 Camel是最好的面包集成框架在本文中我将向您展示如何通过利用另一个出色的项目Redis使它更加强大。 Camel 2.11即将发布具有许多新功能错误修复和组件。 这些新组件中的几个是我创作的 redis-component是我最喜欢的组件 。 Redis – ligth键/值存储区是一款出色的意大利软件专为提高速度而设计与Lamborghini相同– Lamborghini –这是一款两人座的意大利汽车专为 速度。 Redis用C语言编写并且具有接近金属的内存Redis的表现非常出色Lamborgini的座右铭是“ Closer to the Road”。 Redis通常被称为数据结构服务器因为键可以包含字符串哈希列表和排序集。 快速轻便的数据结构服务器对于软件工程师来说就像是一辆超级跑车它只是飞行而已。 如果您想了解有关Redis和兰博基尼独特性能特征的更多信息可以在Google周围找到自己。 Redis入门很容易下载制作和启动Redis服务器。 完成这些步骤之后您就可以从Camel应用程序中使用它了。 该组件在内部使用Spring Data 该数据又使用Jedis驱动程序但有可能切换到其他Redis驱动程序。 以下是一些适合使用camel-redis组件的用例 幂等存储库 幂等一词在数学中用于描述一个函数如果将其应用到其自身上将产生相同的结果。 在“消息传递”中无论是一次还是多次接收此概念都将转换为具有相同效果的消息。 在Camel中此模式是使用IdempotentConsumer类实现的该类使用一个Expression计算给定消息交换的唯一消息ID字符串。 然后可以在IdempotentRepository中查找此ID以查看是否以前已看到过该ID 如果消息已消耗 如果不是则处理该消息并将ID添加到存储库。 RedisIdempotentRepository使用集合结构来存储和检查现有ID。 bean ididempotentRepository classorg.apache.camel.component.redis.processor.idempotent.RedisIdempotentRepository
constructor-arg valuetest-repo/
/beanroute
from uridirect:start/
idempotentConsumer messageIdRepositoryRefidempotentRepository
simple${in.body.id}/simple
to urimock:result/
/idempotentConsumer
/route快取 Redis的主要用途之一是作为LRU缓存 。 它可以将内存中的数据存储为Memcached或者可以调整为持久刷新数据到日志文件如果节点重新启动则可以重播。达到maxmemory时可以使用多种策略来创建满足特定需求的缓存 volatile-lru删除具有过期集的密钥中的一个以尝试删除最近未使用的密钥。 volatile-ttl删除具有过期集的密钥并尝试删除剩余生存时间短的密钥。 volatile-random从具有到期集的密钥中删除一个随机密钥。 allkeys-lru类似于volatile-lru但是将删除每种密钥包括普通密钥或具有过期集的密钥。 allkeys-random和volatile-random一样但是将删除所有类型的键包括普通键和具有过期集的键。 一旦您的Redis服务器配置了正确的策略并正在运行您需要执行的操作是SET和GET ?xml version1.0 encodingUTF-8?
route
from uridirect:start/
setHeader headerNameCamelRedis.Command
constantSET/constant
/setHeader
setHeader headerNameCamelRedis.Key
constantkeyOne/constant
/setHeader
setHeader headerNameCamelRedis.Value
constantvalueOne/constant
/setHeader
to uriredis://localhost:6379/
/route与Redis的Interap发布/订阅 骆驼具有在路线之间进行交互的各种组件 direct 在同一骆驼上下文中提供直接同步的调用。 seda 异步行为再次在同一骆驼上下文中在BlockingQueue上交换消息。 vm 类似于seda的异步行为但只要它们在同一个JVM中它还支持跨CamelContext的通信。 复杂的应用程序通常包括在单独的计算机上运行的多个独立的Camel实例。 对于这种情况Camel提供了jmsactivemq以及AWS SNS与SQS的组合用于实例之间的消息传递。 Redis为发布/订阅消息范式提供了一个更简单的解决方案。 订阅者通过指定频道名称或使用模式匹配从多个频道接收消息来订阅一个或多个频道。 然后发布者将消息发布到频道然后Redis确保它到达所有匹配的订阅者。 ?xml version1.0 encodingUTF-8?
camelContext idcamel xmlnshttp://camel.apache.org/schema/spring
route startupOrder1
from uriredis://localhost:6379?commandSUBSCRIBEchannelstestChannel/
to urimock:result/
/routeroute startupOrder2
from uridirect:start/
setHeader headerNameCamelRedis.Command
constantPUBLISH/constant
/setHeader
setHeader headerNameCamelRedis.CHANNEL
constanttestChannel/constant
/setHeader
setHeader headerNameCamelRedis.MESSAGE
constantTest Message/constant
/setHeader
to uriredis://localhost:6379/
/route
/camelContext其他用法 保证的交付 骆驼使用JMSFileJPA和一些其他组件来支持此EIP。 Redis可以通过其事务支持用作轻量级键值持久存储。 通过EIP模式中的“ 声明检查” 您可以用声明检查唯一密钥替换消息内容该声明检查可在以后用于检索消息内容。 消息内容可以临时存储在Redis中。 Redis在实现计数器排行榜标签系统和更多功能方面也非常受欢迎。 现在有了两把瑞士军刀您所做的整合仅受您的想象力限制。 参考 Apache Camel在OFBIZian博客上会见了我们的JCG合作伙伴 Bilgin Ibryam的Redis 。 翻译自: https://www.javacodegeeks.com/2013/03/apache-camel-meets-redis.html