本发明专利技术涉及一种用于供电服务指挥系统的Redis集群,所述供电服务指挥系统在指挥监控、配网监测、配网运营和客户服务中主要数据查询采用Rediscluster;所述Rediscluster将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。本发明专利技术采用Redis Cluster,不存在所谓的中心节点或者代理节点,每个节点都有保存数据和整个集群的状态,也就是说每个节点都会保存其他节点的信息,并且定时会给其他节点发送心跳,能够及时感知集群中的节点。
A redis cluster for power supply service command system
【技术实现步骤摘要】
一种用于供电服务指挥系统的Redis集群
本专利技术涉及缓存
,具体涉及一种用于供电服务指挥系统的Redis集群。
技术介绍
随着供电服务指挥系统数据量的增多,Redis不论作为数据存储或是缓存,它的数据量也会逐渐增多,虽然Redis的速度非常可观,但随着其中的数据量的庞大,并且仅仅在一个设备或是一个Redis实例中,其存取速度也会大打折扣,所以我们需要在不同的设备或服务器上,搭建多个Redis实例仓库,将原来的Redis的所有的keys分发到各个服务器的Redis上,这就是现在所谓的Redis集群(RedisCluster)。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种用于供电服务指挥系统的Redis集群,能提供一种可靠的数据缓存,极大的提高系统的访问速度,从而提高供电服务指挥系统用户的体验感。为实现上述目的,本专利技术采用如下技术方案:一种用于供电服务指挥系统的Redis集群,所述供电服务指挥系统在指挥监控、配网监测、配网运营和客户服务中主要数据查询采用Rediscluster;所述Rediscluster将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。进一步的,所述Rediscluster支持简单的key-value类型的数据,同时还提供list,set,zset,hash数据结构的存储。进一步的,所述Rediscluster支持数据的备份,即master-slave模式的数据备份。进一步的,所述系统支持二进制案例的Strings,Lists,Hashes,Sets及OrderedSets数据类型操作。进一步的,所述系统设置的主要集群方案包括客户端分片、基于代理的分片和路由查询。进一步的,所述Rediscluster基于smartclient和无中心的设计,client按key的哈希将请求直接发送到对应的节点;没有使用一致性hash,而是引入了虚拟槽的概念;RedisCluster有16384个虚拟槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽;集群的每个节点负责一部分hash槽。本专利技术与现有技术相比具有以下有益效果:本专利技术查询速度非常可观,可以搭建多个实例仓库减轻系统的负载压力。可靠性良好,当系统重启或进行恢复时数据可以自动加载进缓存中。附图说明图1是本专利技术一实施例中RedisCluster示意图。具体实施方式下面结合附图及实施例对本专利技术做进一步说明。请参照图1,本专利技术提供一种用于供电服务指挥系统的Redis集群,所述供电服务指挥系统在指挥监控、配网监测、配网运营和客户服务中主要数据查询采用Rediscluster;所述Rediscluster将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。在本实施例中,所述Rediscluster支持简单的key-value类型的数据,同时还提供list,set,zset,hash数据结构的存储。所述Rediscluster支持数据的备份,即master-slave模式的数据备份。在本实施例中,所述系统支持二进制案例的Strings,Lists,Hashes,Sets及OrderedSets数据类型操作。所述系统设置的主要集群方案包括客户端分片、基于代理的分片和路由查询。在本实施例中,所述Rediscluster基于smartclient和无中心的设计,client按key的哈希将请求直接发送到对应的节点;没有使用一致性hash,而是引入了虚拟槽的概念;RedisCluster有16384个虚拟槽,每个key通过CRC16校验后对16384取模来决定放置哪个槽;集群的每个节点负责一部分hash槽。在实施例中,每个主节点处理各自的数据,提供读写能力,从节点异步复制主节点的数据。假设给每个redis实例分配了8G的最大内存,总的数据容量大小为24G(如果想继续扩充数据容量,继续加主节点)。单个redis实例的最大内存不建议超过10G。sentinel是一个分布式系统,可以在一个架构中运行多个sentinel进程,这些进程使用流言协议(gossipprotocols)来接收关于rdis主服务器是否下线的信息,并使用投票协议(agreementprotocols)来决定是否执行自动故障迁移,以及选举哪个从服务器成为新的主服务器。sentinel服务通过ping命令来确认监控的服务器是否正常,当足够多数量的sentinel都确认监控的同一服务器停止服务了(主观下线),则判定此服务器停止服务。实施例1:redisserver1、redisserver2、redisserver3分别是供电服务指挥系统的集群服务器;实施例:在使用redis集群时:1)key批量操作对系统的支持有限。如mset、mget,系统目前只支持具有相同slot值的key执行批量操作。对于映射为不同slot值的key由于执行mget、mget等操作可能存在于多个节点上因此不被支持。2)key事务操作支持有限。同理只支持多key在同一节点上的事务操作,当多个key分布在不同的节点上时无法使用事务功能。3)key作为数据分区的最小粒度,因此不能将一个大的键值对象如hash、list等映射到不同的节点。4)不支持多数据库空间。单机下的Redis可以支持16个数据库,集群模式下只能使用一个数据库空间,即db0。5)复制结构只支持一层,从节点只能复制主节点,不支持嵌套树状复制结构。以上所述仅为本专利技术的较佳实施例,凡依本专利技术申请专利范围所做的均等变化与修饰,皆应属本专利技术的涵盖范围。本文档来自技高网...
【技术保护点】
1.一种用于供电服务指挥系统的Redis集群,其特征在于:所述供电服务指挥系统在指挥监控、配网监测、配网运营和客户服务中主要数据查询采用Rediscluster;所述Rediscluster将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。/n
【技术特征摘要】
1.一种用于供电服务指挥系统的Redis集群,其特征在于:所述供电服务指挥系统在指挥监控、配网监测、配网运营和客户服务中主要数据查询采用Rediscluster;所述Rediscluster将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
2.根据权利要求1所述的用于供电服务指挥系统的Redis集群,其特征在于:所述Rediscluster支持简单的key-value类型的数据,同时还提供list,set,zset,hash数据结构的存储。
3.根据权利要求1所述的一种用于供电服务指挥系统的Redis集群,其特征在于:所述Rediscluster支持数据的备份,即master-slave模式的数据备份。
4.根据权利要求1所述的一种用于供电服务指挥...
【专利技术属性】
技术研发人员:蒋鑫,郑蔚涛,陈严纾,杨启帆,蔡宇翔,
申请(专利权)人:国网福建省电力有限公司,国网福建省电力有限公司信息通信分公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。