CN110413546A - 基于redis的数据存储方法、装置及计算机可读存储介质 - Google Patents

基于redis的数据存储方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN110413546A
CN110413546A CN201910548136.9A CN201910548136A CN110413546A CN 110413546 A CN110413546 A CN 110413546A CN 201910548136 A CN201910548136 A CN 201910548136A CN 110413546 A CN110413546 A CN 110413546A
Authority
CN
China
Prior art keywords
data
client
different types
redis
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910548136.9A
Other languages
English (en)
Other versions
CN110413546B (zh
Inventor
詹泽
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910548136.9A priority Critical patent/CN110413546B/zh
Publication of CN110413546A publication Critical patent/CN110413546A/zh
Priority to PCT/CN2019/117335 priority patent/WO2020253041A1/zh
Application granted granted Critical
Publication of CN110413546B publication Critical patent/CN110413546B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及一种云存储技术,揭露了一种基于redis的数据存储方法、装置及计算机可读存储介质,该方法包括:接收来自客户端的不同类型的数据;将客户端的不同类型的数据加入不同的前缀;将加入不同前缀的客户端的不同类型的数据进行序列化处理;优先将经过序列化处理的客户端的不同类型的数据发送给redis服务器进行存储,再将经过序列化处理的客户端的不同类型的数据存储于内存中;优先从内存中读取数据,如果不能从内存中读取数据,从redis服务器中读取数据。本发明将客户端的不同类型的数据进行序列化处理后,优先存储于redis服务器,从而确保所有数据都存储redis服务器中,避免了某一服务器宕机后出现数据读取异常的问题。

Description

基于redis的数据存储方法、装置及计算机可读存储介质
技术领域
本发明涉及数据存储领域,尤其涉及一种基于redis的数据存储方法、装置及计算机可读存储介质。
背景技术
mqtt协议目前已是物联网消息标准传输协议,在目前的市场上已经有许多mqtt产品,基本都是集群,对于开源的mqtt服务端,其集群实现要么是很差,要么就是没有实现。
mqtt协议中主要有客户端和服务端两个角色,同时客户端又是通过服务端进行消息的收发,所以整个过程有许多的数据需要存储,然而在实际使用过程中,如果出现服务端(例如主服务器)宕机时,有些数据可能造成丢失,主服务器宕机时,如何有效地读取数据是目前需要解决的问题。
发明内容
本发明提供一种基于redis的数据存储方法、装置及计算机可读存储介质,其主要目的在于避免在主服务器宕机时数据读取异常的问题。
为实现上述目的,本发明提供一种基于redis的数据存储方法,应用于电子装置,所述方法包括:
接收来自客户端的不同类型的数据;
将所述客户端的不同类型的数据加入不同的前缀;
将加入不同前缀的所述客户端的不同类型的数据进行序列化处理;
优先将经过序列化处理的所述客户端的不同类型的数据发送给redis服务器进行存储,再将所述经过序列化处理的客户端的不同类型的数据存储于内存中;
优先从所述内存中读取数据,如果不能从所述内存中读取数据,从所述redis服务器中读取数据。
可选地,所述将所述客户端的不同类型的数据加入不同的前缀的步骤包括:
建立一个数据表,将所述不同类型的数据写入所述数据表中;
将不同的前缀加入不同类型的数据前。
可选地,所述将所述客户端的不同类型的数据进行序列化处理的步骤包括:
分析所述客户端的数据的数据属性;
通过char字符基于所述客户端的数据的数据属性将所述客户端的数据进行分割而进行序列化处理。
可选地,所述不同类型的数据包括:客户端会话信息、订阅关系信息、retain消息信息、离线消息信息、接收qos2未确认消息的信息、分发qos1未确认及qos2第二阶段未确认消息、qos2第二阶段消息状态信息。
可选地,在所述再将所述客户端的数据存储于内存中的步骤中,通过LRU算法将所述客户端的数据存储于内存中。
本发明还提供一种电子装置,所述电子装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于redis的数据存储程序,所述基于redis的数据存储程序被所述处理器执行时实现如下步骤:
接收来自客户端的不同类型的数据;
将所述客户端的不同类型的数据加入不同的前缀;
将加入不同前缀的所述客户端的不同类型的数据进行序列化处理;
优先将经过序列化处理的所述客户端的不同类型的数据发送给redis服务器进行存储,再将所述经过序列化处理的客户端的不同类型的数据存储于内存中;
优先从所述内存中读取数据,如果不能从所述内存中读取数据,从所述redis服务器中读取数据。
可选地,所述将所述客户端的不同类型的数据加入不同的前缀的步骤包括:
建立一个数据表,将所述不同类型的数据写入所述数据表中;
将不同的前缀加入不同类型的数据前。
可选地,所述将所述客户端的不同类型的数据进行序列化处理的步骤包括:
分析所述客户端的数据的数据属性;
通过char字符基于所述客户端的数据的数据属性将所述客户端的数据进行分割而进行序列化处理。
可选地,所述不同类型的数据包括:客户端会话信息、订阅关系信息、retain消息信息、离线消息信息、接收qos2未确认消息的信息、分发qos1未确认及qos2第二阶段未确认消息、qos2第二阶段消息状态信息。
可选地,在所述再将所述客户端的数据存储于内存中的步骤中,通过LRU算法将所述客户端的数据存储于内存中。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于redis的数据存储程序,所述基于redis的数据存储程序可被一个或者多个处理器执行,以实现上述的基于redis的数据存储方法的步骤。
本发明提供的基于redis的数据存储方法、装置及计算机可读存储介质通过将所述客户端的不同类型的数据加入不同的前缀以及将所述客户端的不同类型的数据进行序列化处理后,优先存储于redis服务器,从而确保所有数据都存储redis服务器中,避免了某一服务器宕机后出现数据读取异常的问题。
附图说明
图1为本发明一实施例提供的基于redis的数据存储方法的流程示意图;
图2为本发明一实施例提供的电子装置的内部结构示意图;
图3为本发明一实施例提供的电子装置中基于redis的数据存储程序的模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于redis的数据存储方法。参照图1所示,为本发明一实施例提供的基于redis的数据存储方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现,本实施例中,所述装置为服务端。
在本实施例中,基于redis的数据存储方法包括:
S101,接收来自客户端的不同类型的数据;所述不同类型的数据包括:客户端会话信息、订阅关系信息、retain消息信息、离线消息信息、接收qos2未确认消息的信息、分发qos1未确认及qos2第二阶段未确认消息、qos2第二阶段消息状态信息;
S103,将所述客户端的不同类型的数据加入不同的前缀;
S105,将加入不同前缀的所述客户端的不同类型的数据进行序列化处理;
S107,优先将经过序列化处理的所述客户端的不同类型的数据发送给redis服务器进行存储,再将所述经过序列化处理的客户端的不同类型的数据存储于内存中;
S109,优先从所述内存中读取数据,如果不能从所述内存中读取数据,从所述redis服务器中读取数据;例如判定客户端会话唯一性的情况,正常情况下从内存中读取数据进行判断,如果某一主服务器宕机了,不能从内存中读取数据,可以从redis服务器中读取数据,从而避免了数据读取异常的问题,很好地实现了集群的效果。
进一步地,所述将所述客户端的不同类型的数据加入不同的前缀的步骤包括:
建立一个数据表,将所述不同类型的数据写入所述数据表中;
将不同的前缀加入不同类型的数据前。
例如,建立数据表后,例如会在客户端会话信息之前加入KH前缀,会在订阅关系信息之前加入DY前缀,会在retain消息信息之前加入RE前缀,会在离线消息信息之前加入LX前缀,会在接收qos2未确认消息的信息之前加入JSQ前缀,会在分发qos1未确认及qos2第二阶段未确认消息之前加入FFQ前缀,会在qos2第二阶段消息状态信息之前加入QDE前缀。
进一步地,所述将所述客户端的不同类型的数据进行序列化处理的步骤包括:
分析所述客户端的数据的数据属性;
通过char字符基于所述客户端的数据的数据属性将所述客户端的数据进行分割而进行序列化处理。
例如,所述客户端的数据为一条消息,所述消息包括有消息ID、客户端ID、消息体、QOS、TOPIC五个数据属性,通过char字符基于所述消息的数据属性将所述消息进行分割而进行序列化处理。
进一步地,在所述再将所述客户端的数据存储于内存中的步骤中,通过LRU算法将所述客户端的数据存储于内存中。
进一步地,所述优先从内存中读取数据,如果不能从内存中读取数据,从redis服务器中读取数据的步骤包括:
在不能从内存中读取数据后,并在预设时间内对主服务器发送Ping命令来确认所述主服务器宕机后,从redis服务器中读取数据。
例如,每隔为5秒、10秒或15秒等向主服务器发送Ping命令。
另外,还可以通过以下步骤来确认所述主服务器宕机:判断是否获取到主服务器的采集结果,当获取到主服务器返回的采集结果时,确定主服务器的运行状态正常,当未获取到主服务器的采集结果时,确定主服务器宕机。
进一步地,在主服务器宕机后,将存储在Redis服务器中的主从服务器配置信息加载到内存中,具体包括:
创建配置信息表,所述配置信息表包含了主服务器的配置信息及从服务器的配置信息;所述主服务器的配置信息包含主服务器的IP和端口信息,所述从服务器的配置信息包含从服务器的IP和端口信息;
将所述配置信息表发送加载至内存中。
此外,当判断出主服务器宕机时,判断从服务器的运行情况,并且在判断从服务器正常的情况下变更内存中保存的主从配置信息,否则发出报警指令给报警装置。
本实施例提出的基于redis的数据存储方法通过将所述客户端的不同类型的数据加入不同的前缀以及将所述客户端的不同类型的数据进行序列化处理后,优先存储于redis服务器,从而确保所有数据都存储redis服务器中,避免了某一服务器宕机后出现数据读取异常的问题。
本发明还提供一种电子装置1。参照图2所示,为本发明一实施例提供的电子装置的内部结构示意图。
在本实施例中,电子装置1可以是服务器。所述电子装置1至少包括存储器11、处理器13,通信总线15,以及网络接口17。在本实施例中,所述电子装置1为服务端。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是电子装置的内部存储单元,例如所述电子装置的硬盘。存储器11在另一些实施例中也可以是电子装置的外部存储设备,例如电子装置上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,存储器11还可以既包括电子装置的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于电子装置1的应用软件及各类数据,例如基于redis的数据存储程序111的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器13在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据。
通信总线15用于实现这些组件之间的连接通信。
网络接口17可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在电子装置1与其他电子设备之间建立通信连接。
可选地,电子装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子装置中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11~17的电子装置1,本领域技术人员可以理解的是,图2示出的结构并不构成对电子装置的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的电子装置1的实施例中,存储器11中存储有基于redis的数据存储程序111;处理器13执行存储器11中存储的基于redis的数据存储程序111时实现如下步骤:
接收客户端的不同类型的数据;所述不同类型的数据包括:客户端会话信息、订阅关系信息、retain消息信息、离线消息信息、接收qos2未确认消息的信息、分发qos1未确认及qos2第二阶段未确认消息、qos2第二阶段消息状态信息;
将所述客户端的不同类型的数据加入不同的前缀;
将所述客户端的不同类型的数据进行序列化处理;
优先将所述客户端的不同类型的数据存储于redis服务器中,再将所述客户端的数据存储于内存中;
优先从内存中读取数据,如果不能从内存中读取数据,从redis服务器中读取数据;例如判定客户端会话唯一性的情况,正常情况下从内存中读取数据进行判断,如果某一主服务器宕机了,不能从内存中读取数据,可以从redis服务器中读取数据,从而避免了数据读取异常的问题,很好地实现了集群的效果。
进一步地,所述将所述客户端的不同类型的数据加入不同的前缀的步骤包括:
建立一个数据表,将所述不同类型的数据写入所述数据表中;
将不同的前缀加入不同类型的数据前。
例如,建立数据表后,例如会在客户端会话信息之前加入KH前缀,会在订阅关系信息之前加入DY前缀,会在retain消息信息之前加入RE前缀,会在离线消息信息之前加入LX前缀,会在接收qos2未确认消息的信息之前加入JSQ前缀,会在分发qos1未确认及qos2第二阶段未确认消息之前加入FFQ前缀,会在qos2第二阶段消息状态信息之前加入QDE前缀。
进一步地,所述将所述客户端的不同类型的数据进行序列化处理的步骤包括:
分析所述客户端的数据的数据属性;
通过char字符基于所述客户端的数据的数据属性将所述客户端的数据进行分割而进行序列化处理。
例如,所述客户端的数据为一条消息,所述消息包括有消息ID、客户端ID、消息体、QOS、TOPIC五个数据属性,通过char字符基于所述消息的数据属性将所述消息进行分割而进行序列化处理。
进一步地,在所述再将所述客户端的数据存储于内存中的步骤中,通过LRU算法将所述客户端的数据存储于内存中。
进一步地,所述优先从内存中读取数据,如果不能从内存中读取数据,从redis服务器中读取数据的步骤包括:
在不能从内存中读取数据后,并在预设时间内对主服务器发送Ping命令来确认所述主服务器宕机后,从redis服务器中读取数据。
例如,每隔为5秒、10秒或15秒等向主服务器发送Ping命令。
另外,还可以通过以下步骤来确认所述主服务器宕机:判断是否获取到主服务器的采集结果,当获取到主服务器返回的采集结果时,确定主服务器的运行状态正常,当未获取到主服务器的采集结果时,确定主服务器宕机。
进一步地,在主服务器宕机后,将存储在Redis服务器中的主从服务器配置信息加载到内存中,具体包括:
创建配置信息表,所述配置信息表包含了主服务器的配置信息及从服务器的配置信息;所述主服务器的配置信息包含主服务器的IP和端口信息,所述从服务器的配置信息包含从服务器的IP和端口信息;
将所述配置信息表发送加载至内存中。
此外,当判断出主服务器宕机时,判断从服务器的运行情况,并且在判断从服务器正常的情况下变更内存中保存的主从配置信息,否则发出报警指令给报警装置。
本实施例提出的电子装置通过将所述客户端的不同类型的数据加入不同的前缀以及将所述客户端的不同类型的数据进行序列化处理后,优先存储于redis服务器,从而确保所有数据都存储redis服务器中,避免了某一服务器宕机后出现数据读取异常的问题。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有的基于redis的数据存储程序111,所述基于redis的数据存储程序111可被一个或多个处理器执行,以实现如下操作:
接收来自客户端的不同类型的数据;所述不同类型的数据包括:客户端会话信息、订阅关系信息、retain消息信息、离线消息信息、接收qos2未确认消息的信息、分发qos1未确认及qos2第二阶段未确认消息、qos2第二阶段消息状态信息;
将所述客户端的不同类型的数据加入不同的前缀;
将加入不同前缀的所述客户端的不同类型的数据进行序列化处理;
优先将经过序列化处理的所述客户端的不同类型的数据发送给redis服务器进行存储,再将所述经过序列化处理的客户端的不同类型的数据存储于内存中;
优先从所述内存中读取数据,如果不能从所述内存中读取数据,从所述redis服务器中读取数据;例如判断客户端的会话是否唯一,直接从redis服务器中读取数据进行判断,从而实现数据集中管理,方便集群间通信和管理;另外,如果某一服务器宕机了,可以从redis服务器中读取数据,从而避免异常的数据传输等问题。
本发明计算机可读存储介质具体实施方式与上述电子装置和方法各实施例基本相同,在此不作累述。
可选地,在其他实施例中,所述基于redis的数据存储程序111还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由一个或多个处理器(本实施例为处理器13)所执行以完成本发明,本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段,用于描述基于redis的数据存储程序在电子装置中的执行过程。
例如,参照图3所示,为本发明电子装置一实施例中的基于redis的数据存储程序111的程序模块示意图,该实施例中,基于redis的数据存储程序111可以被分割为接收模块10、数据处理模块20、序列化处理模块30、分配模块40、读取模块50,示例性地:
所述接收模块10,用于接收来自客户端的不同类型的数据;所述不同类型的数据包括:客户端会话信息、订阅关系信息、retain消息信息、离线消息信息、接收qos2未确认消息的信息、分发qos1未确认及qos2第二阶段未确认消息、qos2第二阶段消息状态信息;
所述数据处理模块20,用于将所述客户端的不同类型的数据加入不同的前缀;
所述序列化处理模块30,用于将加入不同前缀的所述客户端的不同类型的数据进行序列化处理;
所述分配模块40,用于优先将经过序列化处理的所述客户端的不同类型的数据发送给redis服务器进行存储,再将所述经过序列化处理的客户端的不同类型的数据存储于内存中;
所述读取模块50,用于优先从所述内存中读取数据,如果不能从所述内存中读取数据,从所述redis服务器中读取数据;例如判断客户端的会话是否唯一,直接从redis服务器中读取数据进行判断,从而实现数据集中管理,方便集群间通信和管理;另外,如果某一服务器宕机了,可以从redis服务器中读取数据,从而避免异常的数据传输等问题。
所述接收模块10、所述数据处理模块20、所述序列化处理模块30、所述分配模块40、所述读取模块50等程序模块被执行时所实现的功能或操作步骤与上述实施例大体相同,在此不再赘述。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于redis的数据存储方法,应用于电子装置,所述方法包括:
接收来自客户端的不同类型的数据;
将所述客户端的不同类型的数据加入不同的前缀;
将加入不同前缀的所述客户端的不同类型的数据进行序列化处理;
优先将经过序列化处理的所述客户端的不同类型的数据发送给redis服务器进行存储,再将所述经过序列化处理的客户端的不同类型的数据存储于内存中;
优先从所述内存中读取数据,如果不能从所述内存中读取数据,从所述redis服务器中读取数据。
2.如权利要求1所述的基于redis的数据存储方法,其特征在于,所述将所述客户端的不同类型的数据加入不同的前缀的步骤包括:
建立一个数据表,将所述不同类型的数据写入所述数据表中;
将不同的前缀加入不同类型的数据前。
3.如权利要求2所述的基于redis的数据存储方法,其特征在于,所述将所述客户端的不同类型的数据进行序列化处理的步骤包括:
分析所述客户端的数据的数据属性;
通过char字符基于所述客户端的数据的数据属性将所述客户端的数据进行分割而进行序列化处理。
4.如权利要求1所述的基于redis的数据存储方法,其特征在于,所述不同类型的数据包括:客户端会话信息、订阅关系信息、retain消息信息、离线消息信息、接收qos2未确认消息的信息、分发qos1未确认及qos2第二阶段未确认消息、qos2第二阶段消息状态信息。
5.如权利要求1所述的基于redis的数据存储方法,其特征在于,在所述再将所述客户端的数据存储于内存中的步骤中,通过LRU算法将所述客户端的数据存储于内存中。
6.一种电子装置,其特征在于,所述电子装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的基于redis的数据存储程序,所述基于redis的数据存储程序被所述处理器执行时实现如下步骤:
接收客户端的不同类型的数据;
将所述客户端的不同类型的数据加入不同的前缀;
将加入不同前缀的所述客户端的不同类型的数据进行序列化处理;
优先将经过序列化处理的所述客户端的不同类型的数据存储于redis服务器中,再将所述经过序列化处理的客户端的不同类型的数据存储于内存中;
优先从所述内存中读取数据,如果不能从所述内存中读取数据,从所述redis服务器中读取数据。
7.如权利要求6所述的电子装置,其特征在于,所述将所述客户端的不同类型的数据加入不同的前缀的步骤包括:
建立一个数据表,将所述不同类型的数据写入所述数据表中;
将不同的前缀加入不同类型的数据前。
8.如权利要求6所述的电子装置,其特征在于,所述将所述客户端的不同类型的数据进行序列化处理的步骤包括:
分析所述客户端的数据的数据属性;
通过char字符基于所述客户端的数据的数据属性将所述客户端的数据进行分割而进行序列化处理。
9.如权利要求6所述的电子装置,其特征在于,所述不同类型的数据包括:客户端会话信息、订阅关系信息、retain消息信息、离线消息信息、接收qos2未确认消息的信息、分发qos1未确认及qos2第二阶段未确认消息、qos2第二阶段消息状态信息。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于redis的数据存储程序,所述基于redis的数据存储程序可被一个或者多个处理器执行,以实现如权利要求1至5中任一项所述的基于redis的数据存储方法的步骤。
CN201910548136.9A 2019-06-19 2019-06-19 基于redis的数据存储方法、装置及计算机可读存储介质 Active CN110413546B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910548136.9A CN110413546B (zh) 2019-06-19 2019-06-19 基于redis的数据存储方法、装置及计算机可读存储介质
PCT/CN2019/117335 WO2020253041A1 (zh) 2019-06-19 2019-11-12 基于redis的数据存储方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910548136.9A CN110413546B (zh) 2019-06-19 2019-06-19 基于redis的数据存储方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110413546A true CN110413546A (zh) 2019-11-05
CN110413546B CN110413546B (zh) 2024-03-12

Family

ID=68359585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910548136.9A Active CN110413546B (zh) 2019-06-19 2019-06-19 基于redis的数据存储方法、装置及计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN110413546B (zh)
WO (1) WO2020253041A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020253041A1 (zh) * 2019-06-19 2020-12-24 平安科技(深圳)有限公司 基于redis的数据存储方法、装置及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170116125A1 (en) * 2015-10-26 2017-04-27 Salesforce.Com, Inc. Builder Program Code for In-Memory Cache
CN107357794A (zh) * 2016-05-10 2017-11-17 北京京东尚科信息技术有限公司 优化键值数据库的数据存储结构的方法和装置
CN108306928A (zh) * 2017-12-22 2018-07-20 努比亚技术有限公司 session管理方法、web服务器及计算机可读存储介质
CN109766489A (zh) * 2018-11-26 2019-05-17 福建新大陆支付技术有限公司 数据处理方法、客户端、服务器及计算机可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150381737A1 (en) * 2014-06-30 2015-12-31 Davra Networks Limited Gateway device and a gateway system for an internet-of-things environment
CN106657394B (zh) * 2017-02-10 2020-06-05 浪潮软件科技有限公司 一种基于物联网大数据的设备信息采集***及方法
CN110413546B (zh) * 2019-06-19 2024-03-12 平安科技(深圳)有限公司 基于redis的数据存储方法、装置及计算机可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170116125A1 (en) * 2015-10-26 2017-04-27 Salesforce.Com, Inc. Builder Program Code for In-Memory Cache
CN107357794A (zh) * 2016-05-10 2017-11-17 北京京东尚科信息技术有限公司 优化键值数据库的数据存储结构的方法和装置
CN108306928A (zh) * 2017-12-22 2018-07-20 努比亚技术有限公司 session管理方法、web服务器及计算机可读存储介质
CN109766489A (zh) * 2018-11-26 2019-05-17 福建新大陆支付技术有限公司 数据处理方法、客户端、服务器及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
翟雅荣: ""基于容器的分布式融合通信服务器的设计与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》, pages 24 - 30 *
钱玉磊: ""基于MQTT的安全通信服务器的研究与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》, pages 10 - 29 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020253041A1 (zh) * 2019-06-19 2020-12-24 平安科技(深圳)有限公司 基于redis的数据存储方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
WO2020253041A1 (zh) 2020-12-24
CN110413546B (zh) 2024-03-12

Similar Documents

Publication Publication Date Title
CN110086636A (zh) 一种基于mqtt的消息分发方法、服务器及存储介质
CN102404127B (zh) 新消息提醒的方法及装置
CN106713116B (zh) 信息处理方法、装置及***
US7299035B2 (en) Server device, mobile communications terminal, information transmitting system and information transmitting method
CN103905293A (zh) 一种获取表情信息的方法及装置
CN104778178B (zh) 一种应用分类方法、装置、及业务服务器
CN110113247A (zh) 富媒体信息收发***、发送、展示方法及终端设备
CN109862063A (zh) 基于mqtt的发布订阅匹配方法、装置及存储介质
CN106357521A (zh) 数据分享方法及装置
CN109992406A (zh) 图片请求方法、响应图片请求的方法及客户端
CN109254808A (zh) 接口调用方法、装置及计算机可读存储介质
CN110597706A (zh) 一种用于应用程序接口数据异常测试的方法和装置
CN103577180A (zh) 数据处理方法及装置
CN112187903A (zh) 一种消息推送方法、装置及消息服务***
CN104702647A (zh) 信息请求方法和***
US20190245827A1 (en) Method and apparatus for synchronizing contact information and medium
CN110413546A (zh) 基于redis的数据存储方法、装置及计算机可读存储介质
CN113037787A (zh) 一种数据处理方法和装置
CN107423395A (zh) 导航数据处理***
US20170155739A1 (en) Advertisement data processing method and router
CN109862399A (zh) 显示富媒体信息的方法、处理富媒体信息的方法、计算机装置及计算机可读存储介质
CN109379179A (zh) 用于更新数字证书的方法和装置
CN102769663B (zh) 一种传递信息的服务器及方法、信息传递***
CN110858132B (zh) 一种打印设备的配置安全检测方法及装置
WO2016058385A1 (zh) 信息存储方法、装置及终端

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant