获取某用户的好友最新动态. 我们大体上来说先按照用户ID将用户的好友一致性哈希到几个mongodb集群,然后把用户的最新信息也存储到mongodb中.然后利用消息系统保持数据库中的数据和mongdb中的数据一致.当用户获取这个列表的时候我们先获取好友然后批量获取好友的最新信息最后排序返回. 目前该解决方案投入mongodb服务器9台,获取好友服务器7台共16台服务器,数据总量在3.6亿左右,每获取100个好友花费10ms. 部署图 活动图 序列图…
之前介绍了Android系统下三种数据存储形式,今天补充介绍另外两种,分别是内容提供者和网络存储.有些人可能认为内存提供者和网络存储更偏向于对数据的操作而不是数据的存储,但这两种方式确实与数据有关,所以这里还是将这两种形式简要的说明一下. Content Provider: Content Provider,中文名是内存提供者,Android四大组件之一,内容提供者是应用程序之间共享数据的接口,以数据库形式存入手机内存,可以共享自己的数据给其他应用使用.之所以需要设计一个单独的控件来操作数据,是…
Android系统有五种数据存储形式,分别是文件存储.SP存储.数据库存储.contentprovider 内容提供者.网络存储.其中,前四个是本地存储.存储的类型包括简单文本.窗口状态存储.音频视频数据.XML注册文件的各种数据.各种存储形式的特点不尽相同,因此对于不同的数据类型有着固定的存储形式,本文为演示方便给出的案例基本相同,都是是采用账号登录来演示数据存储,保存账号和密码信息,下次登录时记住账号和密码.重在说明各种存储形式的原理. 文件存储: 以I/O流的形式把数据存入手机内存或SD卡…
在学习linux的过程中,ubuntu无疑是初学者的最佳选择. 下面来列举给Windows系统安装ubuntu双系统的三种方法. 一.虚拟机安装(不推荐) 使用工具:Vmware 如果不是因为迫不得已,比如Mac OS对硬件不兼容,Federa安装频繁出错,各种驱动不全等等,不推荐使用虚拟机安装. 个人感觉这是一种对操作系统的亵渎,因为你得的到它的人,却没有得到它的心. 但是虚拟机的安装也并不是毫无优点,不用担心网卡显卡声卡的驱动问题,不用担心硬件不兼容之类的. 下面来简单说一下操作步骤. 1.…
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由信姜缘 发表于云+社区专栏 新手在学习Linux系统的时候,难免会遇到命令输错,或系统出错的难题.那么如何快速解决呢?本文就先给你一个后悔药,让你快速备份并恢复Linux系统.本文将以Ubuntu为例,在这之前,你需要一台服务器,你可以免费使用腾讯云开发者实验室进进行试验. 备份 当然,能够还原服务器上所做更改的最简单.最安全的方法是对重要文件执行常规例行备份. Linux系统上有大量备份的软件.我们要研究备份工具之间的差异,找出…
一.虚拟机安装(不推荐) 使用工具:Vmware 如果不是因为迫不得已,比如Mac OS对硬件不兼容,Federa安装频繁出错,各种驱动不全等等,不推荐使用虚拟机安装. 个人感觉这是一种对操作系统的亵渎,因为你得的到它的人,却没有得到它的心. 但是虚拟机的安装也并不是毫无优点,不用担心网卡显卡声卡的驱动问题,不用担心硬件不兼容之类的. 下面来简单说一下操作步骤. 1.下载ubuntu的镜像文件 这个直接去官网就可以下载到: http://www.ubuntu.com/download/deskt…
add by zhj: 不错的系列,作者介绍了NoSQL数据库,并重点研究了Memcached和Redis,不知道后续是否还有其它NoSQL数据库的文章 海量数据存储之nosql教程之-01基础理论 海量数据存储之nosql教程之-02-memcached基础 海量数据存储之nosql教程之-03_深入Memcached 海量数据存储之nosql教程之-04-memcached的分布式 海量数据存储之nosql教程之-05-Redis基本数据类型 海量数据存储之nosql教程之-06-redis…
转载:https://rf.eefocus.com/article/id-LTE%20delay 对于移动通信业务而言,最重要的时延是端到端时延, 即对于已经建立连接的收发两端,数据包从发送端产生,到接收端正确接收的时延.根据业务模型不同,端到端时延可分为单程时延和回程时延,其中单程时延指数 据包从发射端产生经过无线网络正确到达另外一个接收端的时延,回程时延指数据包从发射端产生到目标服务器收到数据包并返回相应的数据包直至发射端正确接收 到应答数据包的时延. 现有的移动通信主要是人与人之间的通信,…
摘要:OpenStack与Hadoop被誉为继Linux之后最有可能获得巨大成功的开源项目.这二者如何结合成为更猛的新方案?业内给出两种答案:Hadoop跑在OpenStack上或OpenStack部署到Hadoop上.Steve Markey教授重点介绍了后者. 这两种答案都有企业在实践.“Hadoop跑在OpenStack上”可以参考<Project Savanna:让Hadoop运行在OpenStack之上>,“OpenStack部署到Hadoop上”则重点可查阅本文. 随着企业开始同时…
随着企业開始同一时候利用云计算和大数据技术.如今应当考虑怎样将这些工具结合使用.在这样的情况下,企业将实现最佳的分析处理能力.同一时候利用私有云的高速弹性 (rapid elasticity) 和单一租赁的特性.怎样协同效用和实现部署.是本文希望解决的问题. 一些基础知识 第一是OpenStack .作为眼下最流行的开源云版本号,它包含控制器.计算 (Nova).存储 (Swift).消息队列 (RabbitMQ) 和网络 (Quantum) 组件. 图 1 提供了这些组件的一个图示(不包括 Q…
一.前言     上篇说给大家来写C#和Java的方案,最近工作也比较忙,迟到了一些,我先给大家补上C#的方案,另外如果没看我上篇博客的人最好看一下,否则你可能看的云里雾里的,这里我就不进行具体的方案画图了:传送门 二.使用的插件     HangFire 一个开源的.NET任务调度框架,最大特点在于内置提供集成化的控制台,方便后台查看及监控,支持多种存储方式:在方案中主要使用定时任务做补偿机制,后期可能会封装一些,能通过页面的形式直接添加任务: NLog 日志记录框架,方案中使用记录日志,后期…
组建MySQL集群的几种方案LVS+Keepalived+MySQL(有脑裂问题?但似乎很多人推荐这个)DRBD+Heartbeat+MySQL(有一台机器空余?Heartbeat切换时间较长?有脑裂问题?)MySQL Proxy(不够成熟与稳定?使用了Lua?是不是用了他做分表则可以不用更改客户端逻辑?)MySQL Cluster (社区版不支持INNODB引擎?商用案例不足?)MySQL + MHA (如果配上异步复制,似乎是不错的选择,又和问题?)MySQL + MMM (似乎反映有很多问…
atitit.短信 验证码  破解  v3 p34  识别 绕过 系统方案规划----业务相关方案 手机验证码  .doc 1. 手机短信验证码 vs 图片验证码 安全性(破解成本)确实要高一些1 1.1. 破解基本原则有两种,一种是绕过验证码.一种是拦截1 2. 手机 短信 验证码的 破解 拦截 方式分类2 2.1. 按照源头破解拦截分为源头拦截,中间拦截,,终端拦截...2 2.2. 按照是否软硬件可分类为 纯软件方案与软硬件结合方案2 3. 具体的方法如下2 3.1. 后台服务器漏洞绕过法…
SP避免Form重复提交的三种方案  1) javascript ,设置一个变量,只允许提交一次.   <script language="javascript">  var checksubmitflg = false;  function checksubmit() {  if (checksubmitflg == true) {  return false;  }  checksubmitflg = true;  return true;  }  document.o…
原文:C#技术分享[PDF转换成图片--13种方案](2013-07-25重新整理) 重要说明:本博已迁移到 石佳劼的博客,有疑问请到 文章新地址 留言!!! 写在最前面:为了节约大家时间,撸主把最常用的方法写在第一条,如果不满足您的需要,您可以继续往后看. 如果看完全文还是不能解决您的问题,欢迎加撸主的QQ群(274281457)进行讨论. 木有csdn分的童鞋,可以去github clone,地址:https://github.com/stone0090/OfficeTools.Pdf2Im…
cookie和session有什么区别?这是一个很基础的知识点,大家可能都知道一个大概:cookie是存在客户端的,session是存储在服务端,cookie和session用来验证识别用户的登录状态,常见适用场景:用户登录,用户购物车数据等.偶然一次开发中遇到这些基础的知识,还要去baidu一下,今天就做一个完整的记录,便于以后查阅. 1.基础概念 cookie存储在客户端电脑中一般在:C:\Users\***\AppData\Local\Microsoft\Windows\Temporary…
Redis集群方案 Redis数据量日益增大,而且使用的公司越来越多,不仅用于做缓存,同时趋向于存储这块,这样必促使集群的发展,各个公司也在收集适合自己的集群方案,目前行业用的比较多的是下面几种集群架构,大部分都是采用分片技术,解决单实例内存增大带来的一系列问题. 本篇文章简单介绍五种方案: 官方cluster方案 twemproxy代理方案 哨兵模式 codis 客户端分片 官方cluser方案 从redis 3.0版本开始支持redis-cluster集群,redis-cluster采用无中…
组建MySQL集群的几种方案LVS+Keepalived+MySQL(有脑裂问题?但似乎很多人推荐这个)DRBD+Heartbeat+MySQL(有一台机器空余?Heartbeat切换时间较长?有脑裂问题?)MySQL Proxy(不够成熟与稳定?使用了Lua?是不是用了他做分表则可以不用更改客户端逻辑?)MySQL Cluster (社区版不支持INNODB引擎?商用案例不足?)MySQL + MHA (如果配上异步复制,似乎是不错的选择,又和问题?)MySQL + MMM (似乎反映有很多问…
微软在桌面系统上的成功,令我们不得不大量使用它的办公产品,如:Word,Excel.时至今日,它的源代码仍然不公开已封锁了我们的进一步应用和开发.在我们实际开发企业办公系统的过程中,常常有客户这样子要求:你要把我们的报表直接用Excel打开.或者是:我们已经习惯用Excel打印.但是这种的客户需求在j2ee环境的环境下怎么实现? 一.Java用POI操作Excel文件 Apache的Jakata项目的POI子项目的HSSF接口可以处理MS Excel(97-2002)对象.它不象我们仅仅是用cs…
之前做项目遇到了这个sso系统,当时只是理解了一部分,今天偶尔发现一篇文章,觉得写的不错,增加了sso知识: 单点登录在现在的系统架构中广泛存在,他将多个子系统的认证体系打通,实现了一个入口多处使用,而在架构单点登录时,也会遇到一些小问题,在不同的应用环境中可以采用不同的单点登录实现方案来满足需求.我将以我所遇到的应用环境以及在其中所经历的各个阶段与大家分享,若有不足,希望各位不吝赐教. 一.共享Session 共享Session可谓是实现单点登录最直接.最简单的方式.将用户认证信息保存于Ses…
一,为什么要冗余数据 互联网数据量很大的业务场景,往往数据库需要进行水平切分来降低单库数据量. 水平切分会有一个patition key,通过patition key的查询能够直接定位到库,但是非patition key上的查询可能就需要扫描多个库了. 此时常见的架构设计方案,是使用数据冗余这种反范式设计来满足分库后不同维度的查询需求. 例如:订单业务,对用户和商家都有订单查询需求: Order(oid, info_detail); T(buyer_id, seller_id, oid); 如果…
Qt 是一个跨平台的C++应用程序框架,支持Windows.Linux.Mac OS X.Android.iOS.Windows Phone.嵌入式系统等.也就是说,Qt 可以同时支持桌面应用程序开发.嵌入式开发和移动开发,覆盖了现有的所有主流平台.你只需要编写一次代码,发布到不同平台前重新编译即可. Qt 不仅仅是一个GUI库,它除了可以创建漂亮的界面,还有很多其他组件,例如,你不再需要研究STL,不再需要C++的<string>头文件,不再需要去找解析XML.连接数据库.Socket 的各…
String字符串是系统里最常用的类型之一,在系统中占据了很大的内存,因此,高效地使用字符串,对系统的性能有较好的提升. 针对字符串的优化,我在工作与学习过程总结了以下三种方案作分享: 一.优化构建的超大字符串 验证环境:jdk1.8 反编译工具:jad 1.下载反编译工具jad,百度云盘下载: 链接:https://pan.baidu.com/s/1TK1_N769NqtDtLn28jR-Xg 提取码:ilil 2.验证 先执行一段例子1代码: public class test3 { pub…
本篇文章将以redis的bigkey为主题进行技术展开,通过从认识redis的高性能,bigkey的危害.存在原因.4种解决方案,到模拟实战演练的介绍方式,来跟大家一起认识.探讨和学习redis. 先认识一下redis和bigkey吧 redis--互联网的宠儿 redis作为一款优秀的工业级内存型数据库,自诞生后便逐渐成为互联网的宠儿,支撑起了互联网丰富多彩的功能和巨大的QPS(每秒查询率),并和nginx一样成为高性能的代名词,比如微博上的每一条热搜背后都有着redis默默守候.从某种意义上…
[接上篇]"天下大势,分久必合,合久必分",ASP.NET应用通过GenericWebHostService这个承载服务被整合到基于IHostBuilder/IHost的服务承载系统中之后,也许微软还是意识到Web应用和后台服务的承载方式还是应该加以区分,于是推出了基于WebApplicationBuilder/WebApplication的承载方式.我们可以将其称为第三代承载模式,它有一个官方的名称叫做"Minimal API".Minimal API同样面临向后…
本文老周就跟伙伴们探讨一下关于文件读写的方法.总得来说嘛,有三种方案可以用,而且每种方案都各有特色,也说不上哪种较好.反正你得记住老祖宗留给我们的大智慧——事无定法,灵活运用者为上. OK,咱们开始吧. 先说第一个方案:使用 FileIO类. 这个类属于RT库API,它公开了一堆静态方法,可以直接调用,快捷方便,就像.net里面的File类一样.在使用FileIo类的时候,需要一个引用已知文件的StorageFile实例,而且FileIo只能操作已经存在的文件,它不会自动创建文件,这一点要注意.…
boolean add(E e) 将指定的元素添加到此列表的尾部. void add(int index, E element) 将指定的元素插入此列表中的指定位置. boolean addAll(Collection<? extends E> c) 按照指定 collection 的迭代器所返回的元素顺序,将该 collection 中的所有元素添加到此列表的 尾部. boolean addAll(int index, Collection<? extends E> c) 从指定…
js   网络是否连接的几种方案 1.通过html5的新属性: window.onload = function () {            var isOnLine = navigator.onLine;            if (isOnLine) {                return alert("网络连接!");            }            alert("网络断开连接!");        }; 2.通过window.a…
先看看什么是IP地址: IP地址是一个32位的二进制数,通常被分割为4个“8位二进制数”(也就是4个字节).IP地址通常用“点分十进制”表示成(a.b.c.d)的形式,其中,a,b,c,d都是0~255之间的十进制整数.例:点分十进IP地址(100.4.5.6),实际上是32位二进制数(01100100.00000100.00000101.00000110). 为什么要转化IP地址: 点分十进制表示法只是为了让人好记忆,并不能用于电脑运算: 数据库中跟IP地址有的字段一般都会存成整数,这样便于查…
湛刚 de BLOG 原文地址 Asp.Net 导出 Excel 数据的9种方案 简介 Excel 的强大之处在于它不仅仅只能打开Excel格式的文档,它还能打开CSV格式.Tab格式.website table 等多钟格式的文档.它具备自动识别行号,字符,格式化数字等功能,例如:如果你在Excel 单元格中输入数字 "123456789012" 会自动转化为"1.23457E+11". 背景介绍 正因为Excel的强大和易用,大家都喜欢将数据导出为 Excel 备…