缓存

微信小程序新闻网站详情页

十年热恋 提交于 2020-03-24 16:52:25
扩展运算符的巧妙应用 这个template模板,绑定的数据带item前缀 那么使用模板的时候,也必须保证是item data帮绑定数据用双花括号包住item 还有wx:for-item默认也是item,因此可省略 这样带有item不利于代码复用,解决方法: 将template模板中的item前缀都去掉 然后使用模板时,在数据绑定前加...(ES6语法) 这样的好处是: 可以改变wx:for-item的属性值和data属性值(这两个必须保持一致),但不需要再去修改模板中的数据前缀 依然能够正常显示 组件的自定义属性及获取属性 创建新闻详情页 给新闻绑定点击事件,注意template和block是不能绑定事件的,所以我在template外面包裹了一个view,然后在view上绑定事件 在函数里定义好跳转到新闻详情页 查看数据可以看到,每篇新闻都有对应的postId 给每篇新闻自定义属性,传递postId 小程序中,自定义属性必须以data-开头,否则是无效的 可以看到已经传递成功 在js中使用小程序的事件对象获取到元素的属性 posts.js 在currentTarget--dataset中,存放了自定义属性 补充一个知识点 如果你设置的自定义属性名是用连字符拼接 可以看到实际结构是全部会转小写的,用连字符拼接 而在js中通过事件对象获取到属性,则会转换为驼峰形式 先静后动

以淘宝为例,解析大型电商服务端架构!

廉价感情. 提交于 2020-03-24 11:28:38
3 月,跳不动了?>>> 作者:若汐缘 https://www.jianshu.com/p/796f488fd134 前言 以淘宝网为例,简单了解一下大型电商的服务端架构是怎样的。如图所示 最上面的就是安全体系系统,中间的就是业务运营系统,包含各个不同的业务服务,下面是一些共享服务,然后还有一些中间件,其中 ECS 就是云服务器,MQS 是队列服务,OCS 是缓存等等,右侧是一些支撑体系服务。 除图中所示之外还包含一些我们看不到的,比如高可用的体现。淘宝目前已经实现多机房容灾和异地机房单元化部署,为淘宝的业务也提供了稳定、高效和易于维护的基础架构支撑。 这是一个含金量非常高的架构,也是一个非常复杂而庞大的架构,当然这个架构不是一天两天演进成这样的,也不是一开始就设计并开发成这样的,对于初创公司而言,很难在初期就预估到未来流量千倍、万倍的网站架构会是怎样的状况,同时如果初期就设计成千万级并发的流量架构,也很难去支撑这个成本。 因此一个大型服务系统,都是从小一步一步走过来的,在每个阶段找到对应该阶段网站架构所面临的问题,然后不断解决这些问题,在这个过程中,整个架构会一直演进,同时内含的代码也就会演进,大到架构、小到代码都是在不断演进和优化的。所以说高大上的项目技术架构和开发设计实现不是一蹴而就的,这是所谓的万丈高楼平地起。 单机架构 从一个小网站说起,一般来说初始一台服务器就够了

以淘宝为例,解析大型电商服务端架构!

早过忘川 提交于 2020-03-24 11:26:39
作者:若汐缘 https://www.jianshu.com/p/796f488fd134 前言 以淘宝网为例,简单了解一下大型电商的服务端架构是怎样的。如图所示 最上面的就是安全体系系统,中间的就是业务运营系统,包含各个不同的业务服务,下面是一些共享服务,然后还有一些中间件,其中 ECS 就是云服务器,MQS 是队列服务,OCS 是缓存等等,右侧是一些支撑体系服务。 除图中所示之外还包含一些我们看不到的,比如高可用的体现。淘宝目前已经实现多机房容灾和异地机房单元化部署,为淘宝的业务也提供了稳定、高效和易于维护的基础架构支撑。 这是一个含金量非常高的架构,也是一个非常复杂而庞大的架构,当然这个架构不是一天两天演进成这样的,也不是一开始就设计并开发成这样的,对于初创公司而言,很难在初期就预估到未来流量千倍、万倍的网站架构会是怎样的状况,同时如果初期就设计成千万级并发的流量架构,也很难去支撑这个成本。 因此一个大型服务系统,都是从小一步一步走过来的,在每个阶段找到对应该阶段网站架构所面临的问题,然后不断解决这些问题,在这个过程中,整个架构会一直演进,同时内含的代码也就会演进,大到架构、小到代码都是在不断演进和优化的。所以说高大上的项目技术架构和开发设计实现不是一蹴而就的,这是所谓的万丈高楼平地起。 单机架构 从一个小网站说起,一般来说初始一台服务器就够了,文件服务器

php中缓存技术

拟墨画扇 提交于 2020-03-24 10:29:31
1、全页面静态化缓存 也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系统中比较常见,比如dedecms; 一种比较常用的实现方式是用输出缓存: Ob_start()******要运行的代码*******$content = Ob_get_contents();****将缓存内容写入html文件*****Ob_end_clean(); 2、页面部分缓存 该种方式,是将一个页面中不经常变的部分进行静态缓存,而经常变化的块不缓存,最后组装在一起显示;可以使用类似于ob_get_contents的方式实现,也可以利用类似ESI之类的页面片段缓存策略,使其用来做动态页面中相对静态的片段部分的缓存(ESI技术,请baidu,此处不详讲)。 该种方式可以用于如商城中的商品页; 3、数据缓存 顾名思义,就是缓存数据的一种方式;比如,商城中的某个商品信息,当用商品id去请求时,就会得出包括店铺信息、商品信息等数据,此时就可以将这些数据缓存到一个php文件中,文件名包含商品id来建一个唯一标示;下一次有人想查看这个商品时,首先就直接调这个文件里面的信息,而不用再去数据库查询;其实缓存文件中缓存的就是一个php数组之类; Ecmall商城系统里面就用了这种方式; 4、查询缓存 其实这跟数据缓存是一个思路,就是根据查询语句来缓存

Django框架(二十八)—— Django缓存机制

扶醉桌前 提交于 2020-03-24 07:02:33
Django缓存机制 一、什么是缓存 动态网站中,用户请求都要去服务器的数据库中增删改查,会消耗很大的资源,因此,使用缓存在减轻服务器的压力。 缓存是将一些常用的数据保存内存或者memcache中,在一定的时间内有人来访问这些数据时,则不再去执行数据库及渲染等操作,而是直接从内存或memcache的缓存中去取得数据,然后返回给用户。 二、Django的6中缓存方式及配置(只需要改配置文件) 1、开发调试缓存(此模式为开发调试使用,实际上不执行任何操作) settings.py文件中配置 CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.dummy.DummyCache', # 缓存后台使用的引擎 'TIMEOUT': 300, # 缓存超时时间(默认300秒,None表示永不过期,0表示立即过期) 'OPTIONS':{ 'MAX_ENTRIES': 300, # 最大缓存记录的数量(默认300) 'CULL_FREQUENCY': 3, # 缓存到达最大个数之后,剔除缓存个数的比例,即:1/CULL_FREQUENCY(默认3) }, } } 2、内存缓存(将缓存内容保存至内存区域中) settings.py文件中配置 CACHES = { 'default': { 'BACKEND': 'django

配置Nginx网页缓存时间!

吃可爱长大的小学妹 提交于 2020-03-23 16:22:52
当 Nginx 将网页数据返回给客户端后,可设置缓存的时间,以方便在日后进行相同内容 的请求时直接返回,以避免重复请求,加快了访问速度,一般针对静态网页进行设置,对动 态网页不用设置缓存时间。可在 Windows 客户端中使用 fiddler 查看网页缓存时间。 设置方法: 在 可修改配置文件,在 http 段、或 server 段、或者 location 段加入对特定内容的过期参 数。 ==================================================================== [root@localhost html]# vim /etc/nginx.conf user nginx nginx; worker_processes 2; error_log logs/error.log; error_log logs/error.log info; pid logs/nginx.pid; events { use epoll; worker_connections 10240; } http { include mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "

CPU多级缓存与缓存一致性

て烟熏妆下的殇ゞ 提交于 2020-03-23 13:27:00
目录 1.为什么要有缓存? 随着现代半导体工艺的发展,CPU的频率越来越快,相对内存快了一个数量级,对于访存的操作CPU就需要等待主存,这样会导致资源的白白浪费。所以cache的出现为了解决CPU与内存速度不匹配的问题。(cpu ->cache->memory) 2 CPU访问主存 0 来源: https://www.cnblogs.com/youngao/p/12551629.html

为什么代码规范要求SQL语句不要过多的join?

徘徊边缘 提交于 2020-03-23 12:21:44
作者: 柯三 juejin.im/post/5e0443ae6fb9a0162277a2c3 送分题 面试官: 有操作过Linux吗? 我: 有的呀 面试官: 我想查看内存的使用情况该用什么命令 我: free 或者 top 面试官: 那你说一下用free命令都可以看到啥信息 我: 那,如下图所示 可以看到内存以及缓存的使用情况 total 总内存 used 已用内存 free 空闲内存 buff/cache 已使用的缓存 avaiable 可用内存 面试官: 那你知道怎么清理已使用的缓存吗(buff/cache) 我: em… 不知道 面试官: sync; echo 3 > /proc/sys/vm/drop_caches 就可以清理buff/cache了,你说说我在线上执行这条命令做好不好? 我: (送分题,内心大喜)好处大大的有,清理出缓存我们就有更多可用的内存空间, 就跟pc上面xx卫士的小火箭一样,点一下,就释放出好多的内存 面试官: em…., 回去等通知吧 再谈SQL Join 面试官: 换个话题,谈谈你对join的理解 我: 好的(再答错就彻底完了,把握住机会) 回顾 SQL中的join可以根据某些条件把指定的表给结合起来并将数据返回给客户端 join的方式有 inner join 内连接 left join 左连接 right join 右连接 full join

C#中Cache的使用

有些话、适合烂在心里 提交于 2020-03-23 05:10:42
公共方法 Add 将指定项添加到 Cache 对象,该对象具有依赖项、过期和优先级策略以及一个委托(可用于在从 Cache 移除插入项时通知应用程序)。 Equals(从 Object 继承) 已重载。确定两个 Object 实例是否相等。 Get 从 Cache 对象检索指定项。 GetEnumerator 检索用于循环访问包含在缓存中的键设置及其值的字典枚举数。 GetHashCode(从 Object 继承) 用作特定类型的哈希函数,适合在哈希算法和数据结构(如哈希表)中使用。 GetType(从 Object 继承) 获取当前实例的 Type。 Insert 已重载。向 Cache 对象插入项。使用此方法的某一版本改写具有相同 key 参数的现有 Cache 项。 Remove 从应用程序的 Cache 对象移除指定项。 ToString(从 Object 继承) 返回表示当前 Object 的 String。 public object Add( string key, object value, CacheDependency dependencies, DateTime absoluteExpiration, TimeSpan slidingExpiration, CacheItemPriority priority, CacheItemRemovedCallback