缓存服务器

jQuery 插件autocomplete

喜夏-厌秋 提交于 2020-01-29 05:07:56
官网  http://jqueryui.com/autocomplete/     http://api.jqueryui.com/autocomplete/#event-select     http://stackoverflow.com/questions/9282320/jquery-ui-autocomplete-1-8-scroll     http://jqueryui.com/autocomplete/#maxheight / . 创建 AjaxPage.aspx 页面,在其中定义 WebMethod 方法来返回 搜索页面需要的输入框所有提示条目。 后台代码如下: 1 using System.Collections.Generic; 2 using System.IO; 3 using System.Runtime.Serialization.Json; 4 using System.Web.Services; 5 6 public partial class AjaxPage : System.Web.UI.Page 7 { 8 [WebMethod] 9 public static string GetAllHints()10 {11 Dictionary<string, string> data = new Dictionary<string, string

秒杀系统架构讲解

喜夏-厌秋 提交于 2020-01-29 05:06:58
今天我们一起来看看,一套秒杀系统在架构设计上需要有哪些考量: 秒杀场景的特点 系统隔离的设计思路 客户端设计 代理层设计 应用层设计 数据库设计 压力测试 总结 秒杀场景的特点 秒杀场景是电商网站定期举办的活动,这个活动有明确的开始和结束时间,而且参与互动的商品是事先定义好了,参与秒杀商品的个数也是有限制的。同时会提供一个秒杀的入口,让用户通过这个入口进行抢购。 总结一下秒杀场景的特点: 定时开始,秒杀时大量用户会在同一时间,抢购同一商品,网站瞬时流量激增。 库存有限,秒杀下单数量远远大于库存数量,只有少部分用户能够秒杀成功。 操作可靠,秒杀业务流程比较简单,一般就是下订单减库存。库存就是用户争夺的“资源”,实际被消费的“资源”不能超过计划要售出的“资源”,也就是不能被“超卖”。 系统隔离的设计思路 在分析秒杀的特点后,我们发现秒杀活动是有计划的,并且在短时间内会爆发大量的请求。为了不影响现有的业务系统的正常运行,我们需要把它和现有的系统做隔离。 即使秒杀活动出现问题也不会影响现有的系统。隔离的设计思路可以从三个维度来思考。 业务隔离 技术隔离 数据库隔离 业务隔离 既然秒杀是一场活动,那它一定和常规的业务不同,我们可以把它当成一个单独的项目来看。在活动开始之前,最好设计一个“热场”。 “热场”的形式多种多样,例如:分享活动领优惠券,领秒杀名额等等。“热场”的形式不重要

前端缓存详解

末鹿安然 提交于 2020-01-28 19:09:56
一、前言 前端缓存主要是分为HTTP缓存和浏览器缓存。其中HTTP缓存是在HTTP请求传输时用到的缓存,主要在服务器代码上设置;而浏览器缓存则主要由前端开发在前端js上进行设置。 缓存可以说是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。 对于一个数据请求来说,可以分为发起网络请求、后端处理、浏览器响应三个步骤。浏览器缓存可以帮助我们在第一和第三步骤中优化性能。比如说直接使用缓存而不发起请求,或者发起了请求但后端存储的数据和前端一致,那么就没有必要再将数据回传回来,这样就减少了响应数据。 缓存类型图解 二、缓存过程分析 浏览器与服务器通信的方式为应答模式,即是:浏览器发起HTTP请求 – 服务器响应该请求。那么浏览器第一次向服务器发起该请求后拿到请求结果,会根据响应报文中HTTP头的缓存标识,决定是否缓存结果,是则将请求结果和缓存标识存入浏览器缓存中,简单的过程如下图: 由上图我们可以知道: 浏览器每次发起请求,都会先在浏览器缓存中查找该请求的结果以及缓存标识 浏览器每次拿到返回的请求结果都会将该结果和缓存标识存入浏览器缓存中 三 强制缓存 强制缓存就是向浏览器缓存查找该请求结果,并根据该结果的缓存规则来决定是否使用该缓存结果的过程,强制缓存的情况主要有三种,如下:

hibernate整理

泪湿孤枕 提交于 2020-01-28 17:19:24
国外框架项目地址:http://websystique.com/springmvc/spring-mvc-4-angularjs-example/Angularjs文本输入框用ng-moduel,其他的用{{ }}放行用.*?Angularjs插件地址http://www.cnblogs.com/pilixiami/p/5634405.htmlUI班的教程:http://pan.baidu.com/share/link?shareid=4146906997&uk=866705889非严格读写是并发的概念Spring不支持多线程Flush()强制要求缓存与数据库一致Eache表连接,lazy子查询ORM: 编写程序时,以面向对象的方式处理数据 保存数据时是以关系型数据库的方式存储的Hibernate的数据持久化: New实例化对象时默认是瞬时的 Jdbc连接数据库时,持久化数据 将数据存入硬盘单向关联关系: 一个类单方向包含另一个类为属性,模拟数据库外键mysql数据库附加:String driver=com.mysql.jdbc.DriverString url=jdbc:mysql://localhost:3306/demohibernate注入: 实体类(1)这个表示一个实体类,Table表示对应数据库中的表名。@Entity@Table(name="t_emp")(2

前端性能优化方法总结及响应状态码详解

倾然丶 夕夏残阳落幕 提交于 2020-01-28 14:12:52
前端优化的途径有很多,按粒度大致可以分为两类, 第一类是页面级别的优化,例如 HTTP请求数、脚本的无阻塞加载、内联脚本的位置优化等 ; 第二类则是代码级别的优化,例如 Javascript中的DOM 操作优化、CSS选择符优化、图片优化以及 HTML结构优化等等。另外,本着提高投入产出比的目的,后文提到的各种优化策略大致按照投入产出比从大到小的顺序排列。 一、页面级优化   1. 减少 HTTP请求数   这条策略基本上所有前端人都知道,而且也是最重要最有效的。都说要减少 HTTP请求,那请求多了到底会怎么样呢 ?首先,每个请求都是有成本的,既包含时间成本也包含资源成本。一个完整的请求都需要经过 DNS寻址、与服务器建立连接、发送数据、等待服务器响应、接收数据这样一个 “漫长” 而复杂的过程。时间成本就是用户需要看到或者 “感受” 到这个资源是必须要等待这个过程结束的,资源上由于每个请求都需要携带数据,因此每个请求都需要占用带宽。另外,由于浏览器进行并发请求的请求数是有上限的 (具体参见此处 ),因此请求数多了以后,浏览器需要分批进行请求,因此会增加用户的等待时间,会给用户造成站点速度慢这样一个印象,即使可能用户能看到的第一屏的资源都已经请求完了,但是浏览器的进度条会一直存在。   2.合理设置 HTTP缓存   缓存的力量是强大的,恰当的缓存设置可以大大的减少 HTTP请求

常用DOS命令

时间秒杀一切 提交于 2020-01-28 13:35:48
进入DOS命令窗口快捷方式:win + R 一、基础命令 1 dir 无参数:查看当前所在目录的文件和文件夹。 /s:查看当前目录已经其所有子目录的文件和文件夹。 /a:查看包括隐含文件的所有文件。 /ah:只显示出隐含文件。 /w:以紧凑方式(一行显示5个文件)显示文件和文件夹。 /p:以分页方式(显示一页之后会自动暂停)显示。 |more:前面那个符号是“\”上面的那个,叫做重定向符号,就是把一个 命令的结果输出为另外一个命令的参数。more也是一个命令,dir /w |more 得到的结果和dir /w /p的结果是一样的。 其他的参数大家可以用:dir/?查看。 2 cd cd 目录名:进入特定的目录。如果看到有个目录显示为:abcdef ghi 就 输入:cdabcdef.ghi进入该目录。 cd\ 退回到根目录。 cd..退回到上一级目录。 3 md rd md 目录名:建立特定的文件夹。 (dos下面习惯叫目录,win下面习惯叫文 件夹。呵呵!) rd 目录名:删除特定的文件夹。 4 cls 清除屏幕。 5 copy copy 路径\文件名 路径\文件名 :把一个文件拷贝到另一个地方。 6 move move 路径\文件名 路径\文件名 :把一个文件移动(就是剪切+复制)到另 一个地方。 7 del del 文件名:删除一个文件。 del *.*

jQuery 插件autocomplete

心已入冬 提交于 2020-01-28 11:41:28
jQuery 插件autocomplete 自动加载 参考: http://www.cnblogs.com/Peter-Zhang/archive/2011/10/22/2221147.html http://johnny-gz.iteye.com/blog/1830235 http://www.jb51.net/article/50463.htm 单击下载资源文件(支持中文) 如图效果   下面来使用 autocomplete插件来实现类似效果。 1. 后台 public void AutoLoad() { List<NameValueItem> data = new List<NameValueItem>(); data.Add(new NameValueItem { Name = "苹果4代iphone正品", Value = "21782" }); data.Add(new NameValueItem { Name = "苹果4代 手机套", Value = "238061" }); data.Add(new NameValueItem { Name = "苹果4", Value = "838360" }); data.Add(new NameValueItem { Name = "苹果皮", Value = "242721" }); data.Add(new

js清除浏览器缓存的几种方法

为君一笑 提交于 2020-01-28 10:22:13
关于浏览器缓存 浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的。今天主要介绍清除缓存的几种方法。 清理网站缓存的几种方法 meta方法 //不缓存 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> <META HTTP-EQUIV="expires" CONTENT="0"> 清理form表单的临时缓存 <body onLoad="javascript:document.yourFormName.reset()"> 其实form表单的缓存对于我们书写还是有帮助的,一般情况不建议清理,但是有时候为了安全问题等,需要清理一下! jquery ajax清除浏览器缓存 方式一 :用ajax请求服务器最新文件,并加上请求头If-Modified-Since和Cache-Control,如下: $.ajax({ url:'www.haorooms.com', dataType:'json', data:{},

jQuery插件autocomplete应用详解及实例

心已入冬 提交于 2020-01-27 22:24:06
项目中有时会用到自动补全查询,就像Google搜索框、淘宝商品搜索功能,输入汉字或字母,则以该汉字或字母开头的相关条目会显示出来供用户选择, autocomplete 插件就是完成这样的功能。    autocomplete官网 : http://bassistance.de/jquery-plugins/jquery-plugin-autocomplete/ (可下载jQuery autocomplete插件)。   淘宝商品搜索功能 效果: 下面来使用autocomplete插件来实现类似效果。 1. 创建AjaxPage.aspx 页面,在其中定义WebMethod 方法来返回 搜索页面需要的输入框所有提示条目。 后台代码如下: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Runtime.Serialization.Json; using System.Web; namespace Jquery_AutoComplete { /// <summary> /// DataAjax 的摘要说明 /// </summary> public class AjaxData : IHttpHandler { public void

网站适用的PHP缓存类

蹲街弑〆低调 提交于 2020-01-27 10:52:07
缓存在实际使用当中应用很广泛,可以减轻对服务器数据库的访问,提高运行速度。目前很多CMS内容管理系统中频繁使用缓存机制来提高系统运行的效率。下面是一个写得不错的缓存类,可以参考下缓存的机制与写法。 cache.php 代码如下: <? /* 用户需要事先定义的常量: _CachePath_ 模板缓存路径 _CacheEnable_ 自动缓存机制是否开启,未定义或为空,表示关闭自动缓存机制 _ReCacheTime_ 自动重新缓存间隔时间,单位为秒,未定义或为空,表示关闭自动重新缓存 */ class cache { var $cachefile ; var $cachefilevar ; function cache() { //生成当前页的Cache组文件名 $this->cachefilevar 及文件名 $this->cachefile //动态页的参数不同对应的Cache文件也不同,但是每一个动态页的所有Cache文件都有相同的文件名,只是扩展名不同 $s = array ( "." , "/" ); $r = array ( "_" , "" ); $this ->cachefilevar= str_replace ( $s , $r , $_SERVER [ "SCRIPT_NAME" ]). "_" . $_GET [_ActionVar_]; $this -