缓存服务器

js知识点小结

你。 提交于 2020-01-18 03:16:54
文章目录 1、原始值和引用值类型及区别 2、判断数据类型typeof、instanceof、Object.prototype.toString.call()、constructor 3、类数组与数组的区别与转换 4、 数组的常见API 5、bind、call、apply的区别 6、new的原理 7、如何正确判断this(区别箭头函数) 8、严格模式与非严格模式的区别 9、原型和原型链 10、prototype与__proto__的关系与区别 11、继承的实现方式及比较 12、作用域和作用域链、执行上下文 13、闭包及其作用 14、深拷贝与浅拷贝 15、防抖和节流 16、Js事件绑定时,函数名加括号和不加括号区别 17、DOM常见的操作方式 18、 Array.sort()方法与实现机制 19、 Ajax的请求过程 20、JS的垃圾回收机制 21、JS中的String、Array和Math方法 22、addEventListener(DOM2级事件处理程序)和onClick()(DOM0级事件处理程序)的区别 23、立即执行函数 24、整个HTML解析过程与JS脚本解析和执行顺序 25、new和Object.create的区别 26、DOM的location对象 27、浏览器从输入URL到页面渲染的整个流程 28、跨域、同源策略及跨域实现方式和原理 29、浏览器的回流(Reflow

在Springboot应用使用redis缓存

与世无争的帅哥 提交于 2020-01-18 01:35:23
在Springboot应用使用redis缓存 缓存 缓存使用的场合 redis缓存 redis缓存使用实例 redis的安装 Window 环境 ubuntu/deepin 环境 引入依赖 在配置文件application.properties中添加如下配置: 在配置类上引入注解@EnableCaching开启缓存 在业务对象使用缓存注解 缓存注解代码示例 进行测试 缓存 缓存(cache,又称高速缓存)是指可以高速访问的、用于临时存储的数据存储区。 缓存使用的场合 缓存一般用于在较短的时间段对相同数据频繁读取的场合,将读取频度较高的数据放入缓存,直接从缓存取数据,以提高效率。 redis缓存 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。Redis本身是一个内存数据库,在应用中可以充当缓存,提高系统数据查询性能。 redis缓存使用实例 redis的安装 Window 环境 下载地址: https://github.com/MSOpenTech/redis/releases 下载zip版本或者安装版(建议zip版) 解压 打开一个 cmd 窗口 使用cd命令切换目录到 redis解压目录, 运行 redis-server redis.windows.conf,启动redis服务

秒杀系统架构分析与实战

99封情书 提交于 2020-01-18 00:02:02
0 系列目录 秒杀系统架构 秒杀系统架构分析与实战 1 秒杀业务分析 正常电子商务流程 (1)查询商品;(2)创建订单;(3)扣减库存;(4)更新订单;(5)付款;(6)卖家发货 秒杀业务的特性 (1)低廉价格;(2)大幅推广;(3)瞬时售空;(4)一般是定时上架;(5)时间短、瞬时并发量高; 2 秒杀技术挑战 假设某网站秒杀活动只推出一件商品,预计会吸引1万人参加活动,也就说最大并发请求数是10000,秒杀系统需要面对的技术挑战有: 对现有网站业务造成冲击 秒杀活动只是网站营销的一个附加活动,这个活动具有时间短,并发访问量大的特点,如果和网站原有应用部署在一起,必然会对现有业务造成冲击,稍有不慎可能导致整个网站瘫痪。 解决方案:将秒杀系统独立部署,甚至 使用独立域名,使其与网站完全隔离 。 高并发下的应用、 数据库 负载 用户在秒杀开始前,通过不停刷新浏览器页面以保证不会错过秒杀,这些请求如果按照一般的网站应用 架构 ,访问应用服务器、连接数据库,会对应用服务器和数据库服务器造成负载压力。 解决方案:重新设计秒杀商品页面,不使用网站原来的商品详细页面, 页面内容静态化,用户请求不需要经过应用服务 。 突然增加的网络及服务器带宽 假设商品页面大小200K(主要是商品图片大小),那么需要的网络和服务器带宽是2G(200K×10000),这些网络带宽是因为秒杀活动新增的

4、可寻址资源开发周期(Addressable Assets development cycle)

那年仲夏 提交于 2020-01-17 21:42:39
可寻址资源的主要优点之一,是将如何规划、构建和加载进行分离。以前这些都是紧密地联系在一起。 1、传统资源管理 如果在 Resources 目录中规划内容,该内容将内置到应用程序中初始包里,并且必须使用Resources.Load 提供资源路径的方法来加载内容。 要访问存储在其他位置的内容,则使用 直接引用 或资源 bundles。 如果使用资源 bundles,则将再次按路径加载根据一些策略组合起来。如果资源 bundles是远程的,或依赖于其他 bundles,则必须编写代码来管理所有 bundles 的下载、加载和卸载。 2、可寻址资源管理 为资源提供地址,无论您在项目中的任何位置或如何构建资源,都可以使用该地址加载该地址。 您可以更改可寻址资源的路径或文件名而不发生问题。您还可以将可寻址资源从Resources文件夹或本地构建目标移动到其他构建位置(包括远程构建位置),而无需更改加载代码。 资源组结构(Asset group schemas) schemas定义了一组数据。你可以在 Inspector 上把一个schemas绑定到一个Asset Groups上。附加到组的schemas定义了构建它下面的资源内容。 例如,在打包模式下构建时,带有 BundledAssetGroupSchema 模式的组将充当资源 bundles的来源

【Redis】- 缓存击穿

南楼画角 提交于 2020-01-17 12:43:35
什么是缓存击穿 在谈论缓存击穿之前,我们先来回忆下从缓存中加载数据的逻辑,如下图所示 因此,如果黑客每次故意查询一个在缓存内必然不存在的数据,导致每次请求都要去存储层去查询,这样缓存就失去了意义。如果在大流量下数据库可能挂掉。这就是缓存击穿。 我们正常人在登录首页的时候,都是根据userID来命中数据,然而黑客的目的是破坏你的系统,黑客可以随机生成一堆userID,然后将这些请求怼到你的服务器上,这些请求在缓存中不存在,就会穿过缓存,直接怼到数据库上,从而造成数据库连接异常。 来源: https://www.cnblogs.com/flzs/p/12205105.html

UNP——第二章,端口号,套接字对,TCP,UDP输出

假装没事ソ 提交于 2020-01-17 00:33:54
1.端口号   端口号用于区分使用相同协议的进程。   TCP69 与 UDP69 是不同的。   端口号范围 0 - 65535, 其中 0- 1023 是保留端口。 2.套接字对   TCP服务通过套接字对,唯一识别进程。   如上,服务器fork后,两个子进程都 bind 了 12.106.32.254:21,那么TCP服务收到对端的数据包,应该给哪个进程呢?   所以套接字对才是数据收发的唯一表示,两个套接字对,是连接的唯一标识。 3.TCP输出   如上,TCP是带缓存的。     (1)应用程序调用 write,数据只是拷贝到TCP缓存,如果缓存空间不足,write会阻塞(若设置非阻塞,会直接返回),直到所有数据传到 TCP缓存。     所以write返回后,并不表示数据传到了对端,只是写入了TCP缓存。     (2)TCP缓存的大小可以用 SO_SNDBUF 设置     (3)TCP如何处理缓存数据?         TCP会按照MSS进行分节,并保留副本,并传递给IP层,IP层会打包分组,传到链路层,链路层按照MTU生成帧,传到物理层。         这里:           MSS <= MTU - 20(TCP首部字节数) - 20(IP首部字节数)           是设置MSS的推荐方法,原因是避免MTU分组     (4

Nginx特点及其配置

安稳与你 提交于 2020-01-16 17:57:03
1、基础知识 代理服务器:      一般是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端。应用比如:GoAgent,FQ神器.   一个完整的代理请求过程为:客户端首先与代理服务器创建连接,接着根据代理服务器所使用的代理协议,请求对目标服务器创建连接、或者获得目标服务器的指定资源。 Web代理(proxy)服务器是网络的中间实体。 代理位于Web客户端和Web服务器之间,扮演“中间人”的角色。HTTP的代理服务器即是Web服务器又是Web客户端。   代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。 正向代理 :   是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。 反向代理服务器:   在服务器端接受客户端的请求,然后把请求分发给具体的服务器进行处理,然后再将服务器的响应结果反馈给客户端。Nginx就是其中的一种反向代理服务器软件。   Nginx:Nginx ("engine

memcached的安装、常用命令以及在实际开发中的案例

会有一股神秘感。 提交于 2020-01-16 17:53:52
Memcached注意 缺乏安全认证以及安全管制 需要将Memcached服务器放置在防火墙(iptables)之后 Linux平台 (CentOS)安装Memcached 安装依赖 yum -y install libevent libevent-devel 以下方式任选一种 方式1. 自动安装方式 yum -y install memcached # 方式2. 源代码编译方式安装 wget https://memcached.org/latest mv latest memcached-1.5.20.tar.gz tar -zxvf memcached-1.5.20.tar.gz cd memcached-1.5.20 ./configure --prefix=/usr/local/memcached make && sudo make install # Linux平台启动 ./memcached -p 11211 -u root -m 64m 或者 ./memcached -p 11211 -u root -m 64m -d 或者 ./memcached -p 11211 -m 64m -d -u root -l 127.0.0.1 -c 256 -P /tmp/memcached.pid # Linux平台服务进程查看 ps -ef | grep memcached #

缓存的概念,如何实现缓存(Etag与last-modified优先级)

試著忘記壹切 提交于 2020-01-16 11:32:26
https://www.cnblogs.com/chenqf/p/6386163.html 1. http缓存 :   强制缓存:Cache-Control:public/private/no-cache/no-store/max-age=xxx        Expires过期时间,绝对时间服务器时间有本地时间不一致会导 致缓存失效   协商缓存: Etag <----> If-None-Match        Last-modify<----->If-Modify-since   优先级:Cache-Control>Expires>Etag>Last-modify 2. 浏览器的缓存 :webStorage(localStorage、sessionStorage)         cookie 来源: https://www.cnblogs.com/zhuMother/p/12200042.html

ASP.NET---缓存(Cache)

假如想象 提交于 2020-01-16 05:45:56
目录 什么是缓存: 什么样的内容适合放在缓存中? 逻辑描述: 缓存类型: 生命周期: 过期时间的类型: 应用场景: cache和session的异同点: 知识点: 什么是缓存: 将数据从数据库/文件取出来放在服务器的内存中,这样后面的用户来获取此数据,不用查询数据库,直接从内存(缓存)中获取数据,提高了访问的速度,节省了时间,也减轻了数据库的压力。是空间换时间的技术。 什么样的内容适合放在缓存中? 经常被查询,但是不是经常改动的数据 逻辑描述: 先查看缓存中有没有这个数据,有的话,直接读出来,如果没有,则放进缓存,读取(根据代码规定先放还是先读) 缓存类型: 页面缓存 文件缓存 数据库缓存 服务器端缓存 生命周期: 没有指定过期时间,则服务器不管,就不过期 如果指定了过期时间,到了过期时间就删除 缓存依赖,监控原数据,如果发生了变化,通知缓存,将改变的数据删除(用户改了数据库中的数据,还需要改缓存中的数据) 过期时间的类型: 方法调用从缓存中移除 过期从缓存中移除 依赖项改变从缓存中移除 系统清除缓存等其他情况被移除 应用场景: 一个网页的商品类别 敏感词的查询 cache和session的异同点: 相同点:都是放到服务器内存里面 不同点:每个用户都有自己单独的session对象,但是放在cache中的数据是大家共享的 知识点: 如果再缓存页面时,如果要根据不同参数(id