读《大型网站技术架构》

LRU算法:1. 新数据插入到链表头部;2. 每当缓存命中(即缓存数据被访问),则将数据移到链表头部;3. 当链表满的时候,将链表尾部的数据丢弃。NOSQL产品:泛指非关系型的数据库。key-valueLSM树:LSM的基本思想是将修改的数据保存在内存,达到一定数量后在将修改的数据批量写入磁盘,在写入的过程中与之前已经存在的数据做合并。同B树存储模型一样,LSM存储模型也支持增、删、读、改以及顺序
阅读本文

大型网站系统架构的演化

前言一个成熟的大型网站(如淘宝、天猫、腾讯等)的系统架构并不是一开始设计时就具备完整的高性能、高可用、高伸缩等特性的,它是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随着业务的扩展而逐步完善的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如淘宝,要解
阅读本文

hazelcast初探

Hazelcast作为一个高度可扩展的数据分发和集群平台,提供了高效的、可扩展的分布式数据存储、数据缓存。Hazelcast是开源的,在分布式技术方面,Hazelcast提供了十分友好的接口供开发者选择,如Map,Queue,ExecutorService, Lock和Jcache。 Hazelcast的稳定性很高,分布式应用可以使用Hazelcast进行存储数据、同步数据、发布订阅消息等。Haz
阅读本文

一个web应用的诞生--数据存储

上一章实现了登录的部分功能,之所以说是部分功能,是因为用户名和密码写成固定值肯定是不可以的,一个整体的功能,至少需要注册,登录,密码修改等,这就需要提供一个把这些值存储到数据库的能力。当前的主流数据库分为两种,即关系数据库和NoSql数据库,对于中小型的系统来说,两种数据库性能,易用性都相当,都是很好的选择。基础配置这里使用SQLAlchemy数据库框架的flask集成包,即flask-SQLAl
阅读本文

mysql 慢查询

一,为什么要开启这个查询呢?数据库是很容易产生瓶颈的地方,现在Nosql大家讨论这么热,估计都被数据库搞郁闷了。mysql中最影响速度的就是那些查询非常慢的语句,这些慢的语句,可能是写的不够合理或者是大数据下多表的联合查询等等,所以我们要找出这些语句,分析原因,加以优化。这也是发这篇博文的原因二,开启mysql的慢查询方法1,用命令开启慢查询 查看复制打印? mysql> show variab
阅读本文

mongodb limit()和skip()

MongoDB Limit() 方法如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一个数字参数,该参数指定从MongoDB中读取的记录条数。语法limit()方法基本语法如下所示:>db.COLLECTION_NAME.find().limit(NUMBER) 实例集合 col 中的数据如下:{ “_id“ : ObjectId(
阅读本文

Mongodb关系建模(n to n为例)

在这种需求下,我们选用了Mongodb这种介于nosql和关系型数据库之间的一种数据库,本质上Mongodb不能单纯的归类为非关系型,虽然他是nosql文档型数据库,但并不意味着它不能有关系,纯nosql数据库应该是Redis,memcached这类key-value数据库,Mongodb是一种特殊的nosql,它采用json的方式存储数据,操作和使用都非常灵活,没有关系型数据库严格的类型长度
阅读本文

openstack安装文档

#########################################openstack m版本部署安装################################## 控制节点、网络节点、计算节点======控制节点#1、防火墙 关闭#2、主机规划:192.168.40.151#3、主机名:controller vim /etc/hosts#4、yum配置:#5、系统更新#6、
阅读本文

基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用

在前面介绍了三篇关于MongoDB数据库的开发使用文章,严格来讲这个不能归类于MongoDB数据库开发,不过Redis又有着和MongoDB数据库非常密切的关系,它们两者很接近,Redis主要是内存中的NoSQL数据库,用来提高性能的;MongoDB数据库则是文件中的NoSQL数据库,做数据序列号存储使用的,它们两者关系密切又有所区别。本篇主要介绍Redis的安装及使用,为后面Redis和Mong
阅读本文

现实世界物联网的例子你应该知道

我们最近举办了一个研讨会一起451个研究分析师Jason印章从451年研究小组讨论行动的见解使用内存中的计算。它非常成功,我们决定与你们分享一些突出的这个博客系列。这是第二个文章基于杰森的见解。这是第三个帖子基于杰森的演讲。在我们最近的网络研讨会451组研究中,分析师Jason印章检查三个主要例子他发现特别有趣的在网络上的东西是真实的,今天在这里。威尔逊X连接篮球 这个篮球有一个小的传感器,它意味
阅读本文

[转]2016年linux运维人员必会开源运维工具体系

linux运维人员必会开源运维工具体系说明:不同的技术人员,不同的阶段确定知识边界非常重要,否则,就像马拉车,不知道终点在哪,累死也达不到目标。例如拿8K要学多少,拿15K要学多少。一个新手也许只想拿8k结果各种学,学了2年,发现都学了,结果8k还是拿不到,归根结底,没边界瞎学,熊瞎子掰苞米,掰一个丢一个,学知识是有周期的,学太多又拖太长和没学差不多,2016年5月更新! 新手必会用深黄色(8-1
阅读本文

redis+redisClient使用心得

最近在玩redisClient,顺便把nosql中的神器redis的一些知识也连接起来,现分享如下,与君共进!1.redisClient是一款非常方便的GUI,没什么可说的,直接上图:2.redis安装在linux服务器安装rzsz----->yum -y install lrzszrz上传 && tar zxvf filenamemake && cd src && mkdir -p /usr/l
阅读本文

Redis、Memcache和MongoDB的区别

>>MemcachedMemcached的优点:Memcached可以利用多核优势,单实例吞吐量极高,可以达到几十万QPS(取决于key、value的字节大小以及服务器硬件性能,日常环境中QPS高峰大约在4-6w左右)。适用于最大程度扛量。支持直接配置为session handle。Memcached的局限性:只支持简单的key/value数据结构,不像Redis可以支持丰富的数据类型。无法进行持
阅读本文

Java分布式 一些概念理解

转至  2017-02-09 有些朋友工作一年了觉得该深入一下子了,所以想深入学习一下以提升自己的专业技能,想问一下如何入门Java分布式应用,学习过程大致是怎么样的,涉及到那些知识,框架呢?有那些资料可以推荐?所以在网络上找了一些资源给大家分享一下!首先推荐4本书(京东就有)大型分布式网站架构设计与实践大型网站技术架构:核心原理与案例分析》,大型网站系统与Java中间件实践《分布式Java应用:
阅读本文

Redis .Net客户端源码

1、简单介绍当前NoSql使用已经极为普遍,无论是Java生态圈,还是.net生态圈。大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面。主流的技术有:HBase、MongoDB、Redis等等。我为什么要选择Redis呢?一是因为,我跟风学来的。。。二是,套用某位大神的话,Redis是Nosql数据库中使用较为广泛的非关系型内存数据库,redis内部是
阅读本文

PHP程序员职业发展路线

第一阶段:基础阶段(基础PHP程序员)重点:把LNMP搞熟练(核心是安装配置基本操作)1.Linux: 基本命令、操作、启动、基本服务配置(包括rpm安装文件,各种服务配置等); 会写简单的shell脚本和awk/sed 脚本命令等。  2.Nginx: 做到能够安装配置nginx+php,知道基本的nginx核心配置选项,知道 server/fastcgi_pass/access_log 等基
阅读本文

python之redis

前言:本来想写redis与rabbitMQ的,但写完redis后感觉有点多,rabbitMQ还是留在下篇博客吧~~ 一、redis基本操作-1 1 import redis 2 #建立连接 3 r=redis.Redis(host=“127.0.0.1“,port=6379) 4 5 all_keys=r.keys()#输出所有key,列表[b‘age‘,b‘name‘,b‘occupa
阅读本文

大型网站技术架构:核心原理与案例分析阅读笔记五

大型网站核心架构要素之伸缩性   所谓网站的伸缩性是指不需要改变网站的软硬件设置,仅仅通过改变部署的服务器数量就可以扩大或缩小网站的服务处理能力。回顾网站架构的发展史,其实就是一部不断向网站添加服务器的历史。  那么如何设计网站的伸缩性?不同功能进行物理分离实现伸缩,具体可分为纵向分离和横向分离;单一功能通过集群规模实现伸缩,通过上面所诉的分离后,使用服务器集群,将相同服务部署在多台服务器上构成一
阅读本文

redis&rabbitMQ安装

前言: 一、Redis的安装redis是一种no-sql缓存数据库。本身是线程安全的,自己使用时不用加锁,redis已经做了限制。我安装的是Windows64位版本的,所以简单讲下Windows下的安装:下载地址Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。 打
阅读本文

hbase和 hive

hbase 是 nosql的一种。nosql的话,不需要sql作为查询语言,也不需要固定的表模式(table schema),也不怎么有sql的join操作,一般都能水平扩展,放宽ACID属性(因为CAP定理)。Hbase是C+P类型的,强一致性(仅支持单行事务)。最常见的应用场景还是采集的网页数据的存储,日志信息的存储,不需要完全结构化的应用。hbase 是 OLTP应用为主。hive不一样,针
阅读本文