场景应用

转:Redis作者谈Redis应用场景

China☆狼群 提交于 2019-12-23 13:14:13
毫无疑问, Redis 开创了一种新的数据存储思路,使用Redis,我 们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上, 而 是利用Redis灵活多变的数据结构和数据操作,为不同的大象构建不同的冰箱 。希望你喜欢这个比喻。 下面是一篇新鲜出炉的文章,其作者是Redis作者@ antirez ,他描述了Redis比较适合的一些 应用 场景,NoSQLFan简单列举在这里,供大家一览: 1.取最新N个数据的操作 比如典型的取你网站的最新文章,通过下面方式, 我们可以将最新的5000条评论的ID放在Redis的List集合中 ,并将超出集合部分从数据库获取 使用LPUSH latest.comments<ID>命令,向 list 集合中插入数据 插入完成后再用LTRIM latest.comments 0 5000命令使其永远只保存最近5000个ID 然后我们在客户端获取某一页评论时可以用下面的逻辑(伪代码) FUNCTION get_latest_comments(start,num_items): id_list = redis.lrange("latest.comments",start,start+num_items-1) IF id_list.length < num_items id_list = SQL_DB("SELECT ... ORDER

大数据时代,新场景应用驱动数据释放价值

走远了吗. 提交于 2019-12-23 10:16:23
数据价值的前景 伴随着大数据时代轰轰烈烈的到来,对数据的重视程度提升了一个又一个的高度。套上大数据的光环,原本那些存放在服务器/网络上平淡无奇的“陈年旧数”也是“蹭、蹭、蹭”地身价倍增。但是水涨船高,要把数据能力和价值源源不断沉淀,把原始数据转化为数据资产,支撑高效的数据服务实现新的应用场景,完成数据全生命周期的使命,这才发挥了数据价值最大化。 数据应用面临的困境 目前,不管是企业还是政府,基本上面临着这样的问题:基于之前业务的需求,会使用不同云端系统(毕竟OA系统找这个领域的专家,ERP系统找这个领域的知名企业。。。);某个行业/地区对于公开网站也只会展示这一个行业/地区数据(如:浙江产权交易所官网展示的大部分都是浙江地区的产权交易信息。)。这就造成了数据孤岛、数据维护混乱、数据价值利用低等问题,要怎么解决这些问题呢?以下是探码科技提供的大数据平台一站式解决方案。 解决数据应用的一站式解决方案 探码大数据平台提供从数据治理、数据模型搭建、数据资产管理到数据服务的一站式解决方案,实现数据资产化运营;提供对各类数据采集,实现数据加工与管理,建立各种模型算法;根据实际的业务建设和要求进行灵活调整,以标准的数据向应用层通过API 的形式提供多种数据服务,从而进行SaaS化应用开发。如企业大数据平台: 以下为探码大数据平台从数据源管理到数据采集处理分析以及应用的全过程展示。 第一步

Redis简介及应用场景

故事扮演 提交于 2019-12-23 05:08:37
一丶Redis介绍 Redis是一个开源的 key—value型 单线程 数据库,支持string、list、set、zset和hash类型数据。 默认端口:6379 默认数据库数量:16 二、优点: 1.nosql数据库没有关联关系,数据结构简单,拓展表比较容易 2.nosql读取速度快,对较大数据处理快 三、适用场景: 1.数据高并发的读写 2.海量数据的读写 对扩展性要求高的数据 四、不适场景: 1.需要事务支持(非关系型数据库) 2.基于sql结构化查询储存,关系复杂 五、应用场景 下面这些作者是Redis作者@ antirez ,他描述了Redis比较适合的一些 应用 场景,NoSQLFan简单列举在这里,供大家一览: 1.取最新N个数据的操作 比如典型的取你网站的最新文章,通过下面方式,我们可以将最新的5000条评论的ID放在Redis的List集合中,并将超出集合部分从数据库获取 使用LPUSH latest.comments<ID>命令,向 list 集合中插入数据 插入完成后再用LTRIM latest.comments 0 5000命令使其永远只保存最近5000个ID 然后我们在客户端获取某一页评论时可以用下面的逻辑(伪代码) FUNCTION get_latest_comments(start,num_items): id_list = redis

关于ob函数的使用和应用场景

自古美人都是妖i 提交于 2019-12-23 04:50:40
ob缓冲区: 通过浏览器向Apache或者nginx发送请求,然后去调用PHP,在返回给浏览器信息的时候如果ob开启,就会将信息输出到ob里,例如(输出(echo、print_r、var_dump.......等)),然后在经过程序缓冲最终返回给浏览器,显示到页面上。如下图: 在使用ob函数之前我们需要修改一下php.ini的配置文件,切记修改完配置文件要重启Apache或nginx。 php.ini(如何迅速精准的找到环境对应的PHP配置文件,在Demo里输出phpinfo) 1 output_buffering = 4096 代表PHP缓冲区大小 4096字节 4k 在代码测试时,需要关闭缓冲区,然后在做测试 1 output_buffering =0或者false 下面我们来举个栗子,写一个小Demo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <?php //默认缓冲区是关闭状态 缓冲区可以看作一个容器 ob_start(); //开启缓冲区 echo '123,' ; //输出到php缓冲区 缓冲区的内容是123, $data = ob_get_contents(); //从缓冲区获取内容 echo $data ; //输出到php缓冲区 缓冲区的内容是123,123, $data = ob_get_contents(); //从缓冲区获取内容

Mycat原理、应用场景

安稳与你 提交于 2019-12-22 03:05:09
Mycat原理 Mycat的原理并不复杂,复杂的是代码,如果代码也不复杂,那么早就成为一个传说了。 Mycat的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的SQL语句,首先对SQL语句做了一些特定的分析:如分 片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端的真实数据库,并将返回的结果做适当的处理,最终再 返回给用户。 上述图片里,Orders表被分为三个分片datanode(简称dn),这三个分片是分布在两台MySQL Server上(DataHost),即 datanode=database@datahost方式,因此你可以用一台到N台服务器来分片,分片规则为(sharding rule)典型的字符串枚举 分片规则,一个规则的定义是分片字段(sharding column)+分片函数(rule function),这里的分片字段为prov而分片函数为字 符串枚举方式。 当Mycat收到一个SQL时,会先解析这个SQL,查找涉及到的表,然后看此表的定义,如果有分片规则,则获取到SQL里分片字 段的值,并匹配分片函数,得到该SQL对应的分片列表,然后将SQL发往这些分片去执行,最后收集和处理所有分片返回的结果 数据,并输出到客户端。以select * from Orders where prov=?语句为例,查到prov=wuhan,按照分片函数

软件架构学习小结

让人想犯罪 __ 提交于 2019-12-21 07:17:39
软件架构 设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单。本文从 架构师职责、 软件架构定义、设计架构、评估架构、架构管理 等方面来描述了解软件架构的含义和怎样设计软件架构。 一、软件架构师的职责 架构师分为以下几大类:业务架构师、主题领域架构师、技术架构师、项目架构师( J2EE 架构师、 .NET 架构师等)、系统架构师。 1 、架构师的职责主要体现 架构师的职责就是设计一个公司系统的基础架构,并提供关于怎样建立和维护系统的指导方针。具体来讲,架构师的职责主要体现在以下几方面: 1 )、负责公司系统的架构设计、研发工作。 2 )、承担从业务向技术转换的桥梁作用。 3 )、协助项目经理制定项目计划和控制项目进度。 4 )、负责辅助并指导系统分析开展设计工作。 5 )、负责组织技术研究和攻关工作。 6 )、负责组织和管理公司内部的技术培训工作。 7 )、负责组织及带领公司内部员工研究与项目相关的新技术。 8 )、管理技术支撑团队并给项目、产品开发实施团队提供技术保障。 9 )、理解系统的业务需求,制定系统的整体框架(包括、技术框架和业务框架)。 10 )、对系统框架相关技术和业务进行培训,指导开发人员开发。并解决系统开发、运行中出现的各种问题。 2 、构架设计师必须具备的技能 经验:既包括在问题领域的经验

双11 背后的全链路可观测性:阿里巴巴鹰眼在“云原生时代”的全面升级

荒凉一梦 提交于 2019-12-21 02:58:17
点击下载《不一样的 双11 技术:阿里巴巴经济体云原生实践》 <br /> 本文节选自《不一样的 双11 技术:阿里巴巴经济体云原生实践》一书,点击上方图片即可下载! 作者: 周小帆(承嗣) 阿里云中间件技术部高级技术专家 王华锋(水彧) 阿里云中间件技术部技术专家 徐彤(绍宽) 阿里云中间件技术部技术专家 夏明(涯海) 阿里云中间件技术部技术专家 导读: 作为一支深耕多年链路追踪技术 (Tracing) 与性能管理服务 (APM) 的团队,阿里巴巴中间件鹰眼团队的工程师们见证了阿里巴巴基础架构的多次升级,每一次的架构升级都会对系统可观测性能力 (Observability) 带来巨大挑战,而这次的“云原生”升级,给我们带来的新挑战又是什么呢? 云原生与可观测性 在刚刚过去的 2019 年 双11,我们再次见证了一个技术奇迹:这一次,我们花了一整年的时间,让阿里巴巴的核心电商业务全面上云,并且利用阿里云的技术基础设施顶住了 54 万笔/秒的零点交易峰值;我们的研发、运维模式,也正式步入了云原生时代。 云原生所倡导的新范式,给传统的研发和运维模式带来巨大冲击:微服务、DevOps 等理念让研发变得更高效,但带来的却是海量微服务的问题排查、故障定位的难度变得更大;容器化、Kubernetes 等容器编排技术的逐渐成熟让规模化软件交付变得容易,但带来的挑战是如何更精准地评估容量、调度资源

RabbitMQ的几种应用场景

落花浮王杯 提交于 2019-12-19 21:04:43
RabbitMQ主页:https://www.rabbitmq.com/ AMQP AMQP协议是一个高级抽象层消息通信协议, RabbitMQ是 AMQP协议的实现。它主要包括以下组件: 1.Server(broker): 接受客户端连接,实现 AMQP消息队列和路由功能的进程。 2.Virtual Host:其实是一个虚拟概念,类似于权限控制组,一个Virtual Host里面可以有若干个Exchange和Queue,但是权限控制的最小粒度是Virtual Host 3.Exchange:接受生产者发送的消息,并根据Binding规则将消息路由给服务器中的队列。ExchangeType决定了Exchange路由消息的行为,例如,在RabbitMQ中,ExchangeType有direct、Fanout和Topic三种,不同类型的Exchange路由的行为是不一样的。 4. Message Queue:消息队列,用于存储还未被消费者消费的消息。 5.Message: 由Header和Body组成,Header是由生产者添加的各种属性的集合,包括Message是否被持久化、由哪个Message Queue接受、优先级是多少等。而Body是真正需要传输的APP数据。 6. Binding:Binding联系了 Exchange与 Message Queue。 Exchange在与多个

PointNet 中文翻译

旧时模样 提交于 2019-12-19 02:34:45
Deep Learning on Point Sets for 3D Classification and Segmentation https://github.com/charlesq34/pointnet PointNet 摘要(Abstract) 点云是一种非常重要的几何数据结构类型。因为它的格式不规则,许多的研究人员通常会将点云数据转换为规则的3D体素网格或者图像集合。然而,这会造成大量的不必要的数据,并且很容易带来问题。在本文中,我们设计了一个直接以点云为输入的神经网络模型,这一模型很好的遵循了输入点的排列不变性。我们的网络模型叫做PointNet,它提供了一种从目标分类、零件分割到场景语义分析的通用模型结构。虽然它很简单,但PointNet非常高效而且有效。从经验上讲,它的效果甚至超过了目前最先进的水平。我们从理论上分析了PointNet学到了什么和为什么PointNet在输入有所干扰和损坏时有很强的鲁棒性。 1.引言(Introduction) 在本文中,我们探讨了能够处理点云或者网格等3D几何数据的深度学习结构。通常,为了实现权重共享和内核优化,卷积结构对输入数据的格式有非常高的要求。由于点云或网格的格式不规则,大多数研究人员通常在将这些数据输入到深度网络之前,会将其转换为规则的3D体素网格或图像集合(如视图)。然而,这种数据表示转换会导致大量不必要的数据

ActiveMQ的作用总结(应用场景及优势)

馋奶兔 提交于 2019-12-16 03:36:59
业务场景说明 : 消息队列在大型电子商务类网站,如京东、淘宝、去哪儿等网站有着深入的应用, 队列的 主要作用 是 消除高并发访问高峰 , 加快网站的响应速度 。 在不使用消息队列的情况下,用户的请求数据直接写入数据库,在高并发的情况下,会对数据库造成巨大的压力,同时也使得系统响应延迟加剧。 在使用队列后,用户的 请求发给队列 后立即返回, (例如: 当然不能直接给用户提示订单提交成功,京东上提示:您“您提交了订单,请等待系统确认”), 再由消息队列的 消费者 进程 从消息队列 中 获取数据 , 异步写入数据库 。 由于消息队列的服务处理速度 远快于数据库 ,因此用户的 响应延迟可得到有效改善 。 图解说明: 1. 消息队列说明 消息队列中间件是 分布式系统中重要的组件 ,主要解决应用耦合,异步消息,流量削锋等问题。 实现高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。 目前在生产环境,使用较多的消息队列有 ActiveMQ , RabbitMQ , ZeroMQ , Kafka , MetaMQ , RocketMQ 等。 2. 消息队列应用场景 消息队列在实际应用中常用的使用场景。 异步处理,应用解耦,流量削锋和消息通讯四个场景 。 2.1. 异步处理 场景说明:用户注册后,需要发注册邮件和注册短信。传统的做法有两种 1. 串行的方式; 2. 并行方式。