缓存服务器

Web项目数据缓存--SpringCache与Ehcache实现

风流意气都作罢 提交于 2020-01-06 05:51:07
需求: 1.系统需要加一个实时的报警列表,就是说如果用户不处理报警就一直弹出右下角提示框. 思路: 1.这个需求在数据交互方面实现起来没有什么难点,问题主要在实时性; 2.当时想到了两个解决方案,第一个是类似聊天室功能实现的HTTP长连接,第二个就是在后台做数据的缓存,从减少数据库的交互,来减轻频繁造成负担(ps:只是减轻.客户端和服务端的ajax还是一直在跑); 3.后来,选择了缓存的方式实现.因为,第一Spring已经帮我把缓存中很多重要的步骤完成了(我只需要在需要缓存的数据函数上加个注解和配置就可以),第二长连接会一直占有服务器的系统资源(特别是内存).对于我们这种服务器硬件的压力会有隐患(并不是不行,而是我们的服务器采购的时候一般不会考虑这方面的性能). 环境: 1.spring-context.jar 2.spring-context-support.jar 过程: 1.定义Ehcache缓存配置文件用于指定缓存对象的一些属性.比如失效时间等,其中name是spring的beanId.其他属性在备注中有阐述. <ehcache> <!-- <diskStore path="d:\\temp\\cache" /> (企业版支持)--> <!-- default cache --> <defaultCache maxElementsInMemory="100000"

Spring 极速集成注解 redis 实践

笑着哭i 提交于 2020-01-06 05:50:37
Redis 做为基于内存的 Key-Value 数据库,用来做缓存服务器性价比相当高。 官方推出的面向 Java 的 Client Jedis,提供了很多接口和方法,可以让 Java 操作使用 Redis。 Spring 团队对 Jedis 进行了封装,独立为 spring-data-redis 项目,配合 spring 特性并集成 Jedis 的一些命令和方法。 本文重点描述集成过程,能让你迅速的通过 spring-data-redis 将 redis 集成到 spring 项目中,毕竟大家都忙的。 1. 添加项目依赖 <!--redis 缓存--> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.8.4.RELEASE</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> </dependency> 2. 添加 spring-redis-context 配置 <?xml version="1.0"

memcached缓存服务器的安装

ε祈祈猫儿з 提交于 2020-01-06 01:42:05
一、memcached 的编译安装 准备: Memcached下载地址: http://www.danga.com/memcached/ libevent下载地址: http://monkey.org/~provos/libevent/ 安装步骤: 1. 下载libevent & memcached 源码包 libevent-1.3.tar.gz memcached-1.2.2.tar.gz 2. 解压缩 libevent-1.3.tar.gz ,编译安装 # tar zxvf libevent-1.3.tar.gz # cd libevent-1.3 # ./configure --prefix=/usr/local/libevent # make ; make install 3. 解压缩 memcached-1.2.2.tar.gz, 编译安装 # tar zxvf memcached-1.2.2.tar.gz # cd memcached-1.2.2 # ./configure --prefix=/usr/local/memchached --with-libevent=/usr/local/libevent # make;make install 4. 作软连接,否则运行memcached的时候将找不到libevent模块 # ln -s /usr/local

Linux下缓存服务器的应用

穿精又带淫゛_ 提交于 2020-01-06 01:41:38
摘要: 由于数据库存储的数据量越来越大,查询速度也就变的越来越慢,因此就有了缓存服务器应用的必要,本文是介绍Memcached的安装以及简单的使用。 本文只介绍memcached的PHP的API,想查看其他关于Memcached的API文档案,请访问 http://www.danga.com/memcached/ 目录 一、环境需求 二、下载相关软件 三、安装和配置 1、安装Memcached 2、安装memcache PHP模块 3、测试脚本 四、关于本文 ++++++++++++++++++++++++++++++++++++++++ 正文 ++++++++++++++++++++++++++++++++++++++++ 一、环境需求 安装Memcached需要libevent库的支持,所以请在安装Memcached之前检查有没有安装libevent。测试环境还需要PHP的支持,本文假设PHP已经安装到/usr/local/php目录下,也就是在编译PHP的时候使用perfix参数指定目录(--prefix=/usr/local/php) 二、下载相关软件 Memcached下载地址: http://www.danga.com/memcached/ memcache PHP模块下载地址: http://pecl.php.net/package/memcache 推荐使用1.5版

数据库介绍与分类

匆匆过客 提交于 2020-01-06 00:30:57
第1章 数据库介绍与分类 1.1 数据库介绍 什么是数据库 简单的说,数据库就是一个存放计算机数据的仓库,这个仓库是按照一定的数据结构(数据结构是指数据的组织形式或数据之间的联系)来对数据进行组织和存储的,我们可以通过数据库提供的多种方法来管理其中的数据。 1.2 数据库的种类 按照早期的数据库理论,比较流行的数据库模型有三种,分别为层次式数据库、网状数据库和关系型数据库。而在当今的互联网企业中,最常用的数据库模式主要有两种,即关系型数据库和非关系型数据库。 1.2.1 关系型数据库介绍 (1)关系型数据库由来 虽然网状数据库和层次数据库已经很好地解决了数据的集中和共享问题,但是在数据独立和抽象级别上仍有很大欠缺。用户在对这两种数据库进行存取时,仍然需要明确数据的存储结构,指出存取路径。而关系数据库就可以比较好地解决这些问题。 (2)关系型数据库介绍 关系型数据库模型是把复杂的数据结构归结为简单的二元关系(即二维表格形式)。在关系型数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过这些关联的表格分类、合并、连接或选取等运算来实现数据的管理。 关系型数据库诞生距今已有40多年了,从理论产生到发展到实现产品,例如:常见的MySQL和Oracle数据库,oracle在数据库领域里上升到了霸主地位,形成每年高达数百亿美元的庞大产业市场,而MySQL也是不容忽视的数据库

WEB 集群与负载均衡(一)基本概念-上

泪湿孤枕 提交于 2020-01-05 09:56:49
 CDN技术详解 一本好的入门书是带你进入陌生领域的明灯,《CDN技术详解》绝对是带你进入CDN行业的那盏最亮的明灯。因此,虽然只是纯粹的重点抄录,我也要把《CDN技术详解》的精华放上网。公诸同好。 第一章 引言 “第一公里”是指万维网流量向用户传送的第一个出口,是网站服务器接入互联网的链路所能提供的带宽。这个带宽决定了一个 网站能为用户提供的访问速度和并发访问量。如果业务繁忙,用户的访问数越多,拥塞越严重,网站会在最需要向用户提供服务时失去用户。(还有“中间一公里” 和“最后一公里”分别代表互联网传输传输和万维网流量向用户传送的最后一段接入链路) 从互联网的架构来看,不同网络之间的互联互通带宽,对任何一个运营商网络的流量来说,占比都比较小,收敛比是非常高的,因此这里通常都是互联网传输中的拥堵点(运营商互联互通的问题) 其次是骨干网堵塞问题,由于互联网上的绝大部分流量都要通过骨干网络进行传输,这就要求骨干网络的承载能力必须与互联网 的应用同步发展,但实际上两者并不是同步的,当骨干网络的升级和扩容滞后于互联网之上的应用的发展时,就会阶段性地使得大型骨干网的承载能力成为影响互联 网性能的瓶颈(区域互联互通问题,骨干网带宽瓶颈) 在互联网领域有一个“8秒定律”,用户访问一个网站时,如果等待网页打开的时间超过8秒,会有超过30%的用户放弃等待 使用CDN会极大简化网站的系统维护工作量

CDN之Web Cache

99封情书 提交于 2020-01-05 09:52:20
1. Cache 的工作方式 Web Cache 作为一种网页缓存技术,可以在用户访问网站服务器的任何一个中间网元上实现。根据 HTTP 协议的定义,在一次网页访问中,用户从客户端发出请求到网站服务器响应请求内容的交互过程中,通常会涉及 4 个关键的网元:用户、代理、网关和 Web 服务器。当 Web Cache 作为代理使用时,通常工作在正向代理或者透明代理的模式,Web Cache 可以在这两种模式下实现访问内容副本的缓存和服务;Web Cache 应用最多的地方还是在网关上,这也是 CDN 的典型应用场景,网关通常工作在反向代理模式。 1.1 正向代理 正向代理(Forward Proxy)方式下,使用者需要配置其网络访问的代理服务器地址为 Cache 设备的地址,内网用户对互联网的所有访问都通过代理服务器代理完成。使用者也可以仅对特殊应用设置代理服务器,此时仅该类访问需要通过代理服务器代理完成。通常正向代理的缓存设备支持冗余配置,从而保证代理系统的稳定性和可用性。共向代理的工作示意图如下: 如上示例,用户主机和代理服务器部署在同一网络环境中,用户主机地址为 192.168.10.101,正向代理服务器的地址为 192.168.10.1,用户想要访问的外网服务器地址为 172.16.10.200。通常用户需要为所使用的主机配置正向代理服务器地址(192.168.10.1

大型网站系统架构演化之路

别说谁变了你拦得住时间么 提交于 2020-01-05 09:47:31
转 http://www.cnblogs.com/leefreeman/p/3993449.html 前言 一个成熟的大型网站(如淘宝、京东等)的系统架构并不是开始设计就具备完整的高性能、高可用、安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技术架构、设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线。所以成熟的系统架构是随业务扩展而完善出来的,并不是一蹴而就;不同业务特征的系统,会有各自的侧重点,例如淘宝,要解决海量的商品信息的搜索、下单、支付,例如腾讯,要解决数亿的用户实时消息传输,百度它要处理海量的搜索请求,他们都有各自的业务特性,系统架构也有所不同。尽管如此我们也可以从这些不同的网站背景下,找出其中共用的技术,这些技术和手段可以广泛运行在大型网站系统的架构中,下面就通过介绍大型网站系统的演化过程,来认识这些技术和手段。 一、最开始的网站架构 最初的架构,应用程序、数据库、文件都部署在一台服务器上,如图: 二、应用、数据、文件分离 随着业务的扩展,一台服务器已经不能满足性能需求,故将应用程序、数据库、文件各自部署在独立的服务器上,并且根据服务器的用途配置不同的硬件,达到最佳的性能效果。 三、利用缓存改善网站性能 在硬件优化性能的同时,同时也通过软件进行性能优化,在大部分的网站系统中

CDN缓存策略

雨燕双飞 提交于 2020-01-05 09:47:06
CDN(Content Delivery network,内容分发网络),通过GSLB技术使得用户能访问到最近物理机房的文件,以节省网络时间,也就是说一份文件可能会在全国乃至全球的多个服务器存在,这就涉及到一个文件分发的问题,目前通常的CDN都是采取回源策略来同步文件,即每个cdn域名关联了一些源服务器,发布文件只要发布到源服务器即可,cdn会根据策略从源服务器拉取文件,以保证用户能尽早访问到最新的文件内容。 那么cdn何时会去源服务器取内容呢?事实上,这个策略和浏览器缓存非常类似,我们知道,http 1.1通过cache-control的max-age头可以告知文件在浏览器的缓存时间,在max-age指定的时间内,浏览器会直接使用本地缓存,而不会请求服务器,cdn采取了类似的机制,你只要把cdn节点看成浏览器,源服务器看成浏览器需要请求的服务器即可,此时,源服务器的max-age头决定了资源在cdn节点本地缓存的时间,有一点差别的是,cdn规定了一个自定义协议,s-maxage,若源站该header存在,会优先使用该header作为缓存时间: Cache-Control:max-age=0, s-maxage=86400 举个栗子解释下cdn缓存策略: 为了避免干扰,我们假设例子中说的cdn只有你一个人在访问。 源站的max-age设定了缓存时间为3600秒,即一小时

Nginx反向代理及缓存使用

大城市里の小女人 提交于 2020-01-05 00:11:28
博文结构 反向代理 proxy缓存 nginx优化 一.反向代理(案例) 1、反向代理(Reverse Proxy)方式是指以代理服务器来接受客户端的连接请求,然后将请求转发给网络上的 web 服务器(可能是 apache、nginx、tomcat、iis 等),并将从 web 服务器上得到的结果返回给请求连接的客户端,此时代理服务器对外就表现为一个服务器。 如图可以看出:反向代理服务器代理网站 Web 服务器接收 Http 请求,对请求进行转发。而且nginx作为反向代理服务器可以根据用户请求的内容把请求转发给后端不同的web服务器,例如静动分离,再例如在 nginx 上创建多个虚拟主机,这样就成功的做到了在浏览器中输入不同域名(url)的时候访问后端的不同 web 服务器或 web 群集。 2、反向代理的作用 ①保护网站安全:任何来自 Internet 的请求都必须先经过代理服务器 ②通过配置缓存功能加速 Web 请求:可以缓存真实 Web 服务器上的某些静态资源,减轻真实 Web 服务器的负载压力 ③实现负载均衡:充当负载均衡服务器均衡地分发请求,平衡集群中各个服务器的负载压力; 实验环境 下载nginx软件包 192.168.222.128 nginx服务器 192.168.222.129 web 192.168.222.130 web nginx服务器操作如下: