redis通信过程,redis的操作

  redis通信过程,redis的操作

  Yyds干货库存

  本指南将指导您使用Spring Data Redis发布和订阅通过Redis发送的消息。

  你会建造什么?您将构建一个应用程序,用于通过StringRedisTemplate发布字符串消息,并通过POJO订阅MessageListenerAdapter消息。

  使用Spring Data Redis作为发布消息的方式可能听起来很奇怪,但是,正如您将发现的那样,Redis不仅提供NoSQL数据存储,而且还提供消息传递系统。

  大约15分钟你需要什么?最喜欢的文本编辑器还是IDEJDK 1.8或更高版本的Gradle 4或Maven 3.2。您也可以将代码直接导入IDE:Spring Tool Suite(STS)IntelliJ IDEARedis Server How to complete本指南。像大多数Spring入门指南一样,您可以从头开始并完成每个步骤,或者绕过您已经熟悉的基本设置步骤。无论哪种方式,您最终都会得到工作代码。

  要从头开始,请继续构建Redis服务器。

  要跳过基本步骤,请执行以下操作:

  下载并解压本指南的源代码库,或者用Git克隆:Git clonehttps://github.com/spring-guides/gs-messaging-redis.git光盘进入gs-messaging-redis/initial跳转到Spring Initializr开始。完成后,您可以对照中的代码检查结果gs-messaging-redis/complete。

  构建Redis服务器在构建消息传递应用程序之前,您需要设置将处理接收和发送消息的服务器。

  Redis是一个开源的、BSD许可的键-值对数据存储,它还附带了一个消息传递系统。该服务器在https://redis.io/download.是免费的,您可以手动下载,或者,如果您使用Mac和Homebrew,您可以在终端窗口中运行以下命令:

  Brew install redis Copy解压缩redis后,可以通过运行以下命令以默认设置启动它:

  redis-服务器复制您应该会看到类似以下内容的消息:

  [35142] 01 May 14:36:28.939 #警告:未指定配置文件,使用默认配置。要指定配置文件,请使用redis-server/path/to/redis . conf

  [35142] 01 May 14:36:28.940 *打开文件的最大数量设置为10032

  _._

  _.-``__ -._

  _.-`` `.`_.-._ Redis 2.6.12 (00000000/0) 64位。-`` .-```.```\/_._ -._

  ( ,-` `,)在独立模式下运行

  `-._`-.-` __.-.``-._` _.-端口:6379

   `-._ `._/_.- PID: 35142

  `-._ `-._ `-./_.- _.-

  `-._`-._ `-.__.- _.-_.-

   `-._`-._ _.-_.- https://redis.io

  `-._ `-._`-.__.-_.- _.-

  `-._`-._ `-.__.- _.-_.-

   `-._`-._ _.-_.-

  `-._ `-._`-.__.-_.- _.-

  `-._ `-.__.- _.-

  `-._ _.-

  `-.__.-

  [35142] 01 May 14:36:28.941 #服务器启动,Redis版本2.6.12

  [35142] 01 May 14: 36: 28.941 *服务器现在准备好接受端口6379上的连接。从Spring Initializr开始复制,您可以使用这个预初始化的项目,然后单击“生成”下载ZIP文件。该项目被配置为适合本教程中的示例。

  手动初始化项目:

  导航到https://start.spring.io该服务提取应用程序所需的所有依赖项,并为您完成大部分设置。选择Gradle或Maven以及您想要使用的语言。本指南假设您已经选择了Java。单击依赖项,然后选择Spring Data Redis。单击生成。生成的ZIP文件,它是根据您的选择配置的Web应用程序的归档文件。如果您的IDE集成了Spring Initializr,您可以从您的IDE完成这个过程。您也可以从Github派生项目,并在IDE或其他编辑器中打开它。

  创建Redis消息接收者在任何基于消息传递的应用程序中,都有消息发布者和消息接收者。要创建消息接收方,请使用响应消息的方法来实现接收方,如下例所示(来自src/main/Java/com/example/messageredis/receiver . Java):

  package com . example . messaging redis;

  导入Java . util . concurrent . atomic . atomic integer;

  导入org . slf4j . logger;

  导入org . SLF 4j . logger factory;

  公共类接收器{

  专用静态最终记录器=lograpfactorry。获取记录器(接收。类);

  专用原子计计数器=新原子计();

  公共void接收消息(字符串消息)>

  LOGGER.info(已收到消息

  柜台。增量get();

  }

  public int get count()>

  退货柜台。get();

  }

  }复制这接收器是一个波乔,它定义了接收消息的方法。当您将注册接收器为消息侦听器时,您可以随意命名消息处理方法。

  出于演示目的,接收方正在对收到的消息进行计数。这样,它可以在收到消息时发出信号。

  注册监听器并发送消息Spring Data Redis(春季数据重定向器)提供了使用再说一遍发送和接收消息所需的所有组件。具体来说,需要配置:

  连接工厂消息侦听器容器一个再说一遍模板您将使用再说一遍模板发送消息,并将接收器向消息侦听器容器注册,以便它接收消息。连接工厂同时驱动模板和消息侦听器容器,让它们连接到再说一遍服务器。

  此示例使用春船的默认重新连接工厂,它的一个实例jedisconnectionfactory基于杰迪丝库。连接工厂被注入到消息侦听器容器和再说一遍模板中,如以下示例(来自src/main/Java/com/example/messages规则/消息规则。Java)所示:

  com。举例。messagingredis套装程式:

  导入组织。slf4 j . logger

  导入组织。SLF 4j。伐木工人工厂;

  导入组织。spring框架。靴子。弹簧应用:

  导入组织。spring框架。靴子。自动配置。弹簧启动应用程序:

  导入组织。springframework语境。应用程序上下文:

  导入组织。springframework语境。注释。bean:

  导入组织。springframework数据。雷迪斯。联系。重新连接工厂:

  导入组织。spring框架。数据。雷迪斯。核心。弦系统板:

  导入组织。springframework数据。雷迪斯。听众。图样:

  导入组织。springframework数据。雷迪斯。听众。redismessagesellschaft容器:

  导入组织。springframework数据。雷迪斯。听众。适配器。消息侦听器适配器:

  @ springboot应用程式

  公共类邮件复制[

  专用静态最终记录器=lograpfactorry。获取对象(消息重新三倍化。类);

  @ beanrdismessagelistenercontainer(reconneconnectionfactory连接工厂,messagelisteneradapter listeneradapter)}

  重定向容器容器=新建重定向容器():

  集装箱。设置连接工厂(连接工厂):

  集装箱。addmessagelistener(侦听器适配器,new pattern pic( chat );

  返回容器;}

  @ beanmssagelisteradapter listener(接收器){返回新的MessageListenerAdapter(接收器,‘接收消息’);}

  @beanreceiver接收器(){返回新接收器();}

  @ beanstringregistered template(reconneconnectionfactory连接工厂){返回新的字符串系统板(连接工厂)(返回新字符串系统板(连接工厂));}

  公共静态void main(string[]args)引发中断的异常[

  CTX=springapplication。运行(消息重新分发。class,args):

  stringredsteplate template。getbean(stringredsteplate。类);接收器=ctx.getBean(接收器。类);

  而(接收器。get count()==0){ {同上。}

  LOGGER.info(发送消息.);模板。convert andend( chat , Hello from Redis!);线程。休眠(500升);}

  系统。退出(0);}

  }复制方法中定义的豆先生在定义列表轮适配器的消息监听器容器中注册为消息监听器集装箱、集装箱、将监听该猫!猫主题的消息。因为接收器该类是波乔,所以需要将其包装在实现消息监听器-讯息监听器接口的消息侦听器适配器中(这是所需的addMessageListener()).消息侦听器适配器还配置为在消息到达时调用该接收消息()方法。接收器

  工厂连接和消息监听器容器bean是您监听消息所需要的全部。要发送消息,您还需要一个Redis模板。这里是一个配置为的bean stringRedisterTemplate,其实现RedisTemplate侧重于Redis的常用,其中键和值都是字符串实例。

  main()方法通过创建Spring应用程序上下文来启动一切。然后,应用程序上下文启动消息监听器容器,消息监听器容器bean开始监听消息。然后,main()方法从应用程序上下文中检索StringRedistribute bean,并使用它从Redis发送Hello!关于聊天话题的新闻。最后,它关闭Spring应用程序上下文,应用程序结束。

  构建一个可执行的JAR,您可以使用Gradle或Maven从命令行运行应用程序。您还可以用所有必需的依赖项、类和资源构建一个单独的可执行JAR文件并运行它。可执行的jar可以在整个开发生命周期中,跨不同的环境等,作为应用服务轻松地交付、版本化和部署。

  如果你使用Gradle,你可以使用。/gradlew bootRun。或者,您可以用。/gradlew构建并运行JAR文件,如下所示:

  Java-JAR build/libs/GS-messaging-redis-0 . 1 . 0 . JAR如果使用Maven,可以使用。/mvnw spring-boot:运行。或者,您可以使用构建jar文件。/mvnw清理包,然后运行jar文件,如下所示:

  Java-JAR target/GS-messaging-redis-0 . 1 . 0 . JAR这里描述的步骤创建了一个运行的JAR。您还可以构建经典的WAR文件。

  您应该会看到类似如下的输出:____ _ __ _ _

  /\\/____ __ _ _(_)_ __ __ _ \ \ \ \

  ( ( )\___ _ _ _ \/_` \ \ \ \

  \\/___) _) (_ ) ) ) )

   ____ .___ __ _\__, ////

  =========_==============___/=/_/_/_/

  * Spring Boot:(2 . 1 . 8版)

  2019-09-23 12:57:11.578 INFO 35396-[main]c . e . m . messaging disapplication:使用PID 35396在Jays-MBP上启动messaging disapplication(/Users/j/projects/guides/GS-messaging-redis/complete/target/classes由j in/Users/j/projects/guides/GS-messaging-redis/complete启动

  2019-09-23 12:57:11.581 INFO 35396-[main]c . e . m . messagingredisapplication:没有活动配置文件集,回退到默认配置文件:默认

  2019-09-23 12:57:11.885 INFO 35396-[main]. s . d . r . c . repositoryconfigurationdelegate:发现多个Spring数据模块,进入严格的存储库配置模式!

  2019-09-23 12:57:11.887 INFO 35396-[main]. s . d . r . c . repositoryconfigurationdelegate:在默认模式下引导Spring数据存储库。

  2019-09-23 12:57:11.914 INFO 35396-[main]. s . d . r . c . repositoryconfigurationdelegate:13毫秒内完成Spring数据仓库扫描。找到0个存储库接口。

  2019-09-23 12:57:12.685 INFO 35396-[container-1]io .莴苣. core.EpollProvider:不使用可选的epoll库启动

  2019-09-23 12:57:12.685 INFO 35396-[container-1]io .莴苣. core.KqueueProvider:启动时不使用可选的kqueue库

  2019-09-23 12:57:12.848 INFO 35396-[main]c . e . m . MessagingRedisApplication:1.511秒启动MessagingRedisApplication(JVM运行3.685)

  2019-09-23 12:57:12.849 INFO 35396-[main]c . e . m . messagingredisapplication:发送消息.

  2019-09-23 12:57:12.861 INFO 35396-[container-2]com . example . messaging redis . receiver:收到Redis的问候!恭喜抄!您刚刚使用Spring和Redis开发了一个发布和订阅应用程序。

  版权归作者所有:原创作品来自博主Spring_Learnin,转载请联系作者取得转载授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • redis队列操作命令,redis 循环队列
  • redis队列操作命令,redis 循环队列,redis实现简单队列
  • redis部署应用服务器上,redis如何启动服务器
  • redis部署应用服务器上,redis如何启动服务器,搭建Redis服务器步骤详细介绍
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决
  • redis缓存穿透和击穿解决方案,redis缓存穿透,缓存雪崩解决,redis缓存穿透解决方法
  • Redis缓存,redis和缓存
  • Redis缓存,redis和缓存,Redis缓存详解
  • redis的配置,启动,操作和关闭方法有哪些,关闭redis的命令,Redis的配置、启动、操作和关闭方法
  • redis的主从配置方法详解图,Redis主从配置
  • redis的主从配置方法详解图,Redis主从配置,redis的主从配置方法详解
  • redis界面工具,mac安装redis可视化工具
  • redis界面工具,mac安装redis可视化工具,推荐几款 Redis 可视化工具(太厉害了)
  • redis正确使用的十个技巧是什么,redis正确使用的十个技巧有哪些
  • 留言与评论(共有 条评论)
       
    验证码: