当前位置: 首页 > news >正文

做架构图简单的网站mvc5网站开发项目下载

做架构图简单的网站,mvc5网站开发项目下载,网站建设与运营答案,天津网站优化怎么样首先我们需要创建一个名为TimeLimitedCache的构造函数#xff0c;然后定义一些方法#xff0c;如set, get,和count。以下是具体的示例代码#xff1a; // 定义 TimeLimitedCache 构造函数 var TimeLimitedCache function( ) {// 初始化一个空的 cache 对象#xff0c;用于…首先我们需要创建一个名为TimeLimitedCache的构造函数然后定义一些方法如set, get,和count。以下是具体的示例代码 // 定义 TimeLimitedCache 构造函数 var TimeLimitedCache function( ) {// 初始化一个空的 cache 对象用于存储将要缓存的数据this.cache {}; };// 定义 TimeLimitedCache 的各种方法 TimeLimitedCache.prototype {// 设置缓存数据set: function(key, value, duration) {// 获取当前时间const now Date.now();// 将数据和过期时间一起作为一个新对象缓存起来const _value {value: value, // 需要缓存的数据duration: duration, // 所需缓存的时间msstart: now // 数据开始缓存的时间};// 将键值对存入 cache对象this.cache[key] _value;},// 获取缓存数据get: function(key) {// 获取当前时间const now Date.now();// 使用key从缓存中取出数据const { start, duration, value } this.cache[key];// 判断数据是否过期if (now - start duration) {// 如果数据没有过期则返回数据return value;} else {// 如果数据过期了就从缓存中删除并返回-1表示数据已失效delete this.cache[key];return -1;}},// 获取当前还未过期的缓存的数量count: function() {let cnt 0;for (let key in this.cache) {// 如果 get 方法返回的不是-1说明缓存还未过期if (this.get(key) ! -1) {cnt;}}// 返回未过期的缓存数量return cnt;} }改已存在且未过期的键的值 // 更新缓存数据 update: function(key, newValue, duration) {// 使用 get 方法检查键值是否存在且未过期if (this.get(key) ! -1) {// 存在未过期的键我们增更新它的值this.cache[key].value newValue;// 更新他的过期时间if (duration ! undefined) {this.cache[key].duration duration;this.cache[key].start Date.now();}return true;} else {// 键不存在或者已经过期我们返回 falsereturn false;} }这样你就可以使用 update 方法来更新已经存在的键的值了。如果这个键不存在或者已经过期update 方法会返回 false而如果更新成功它会返回 true。请注意对于过期的键我们通常认为它已经不存在所以在这种情况下你可能会希望用 set 来重新创建一个新键 设置缓存时自动删除过期的键 可以在 set 方法中添加一个检查并删除过期键的步骤。为了不让这个步骤消耗太多时间我们可以选择只删除一部分过期的键。 下面的代码表示在每次设置新的缓存之前都会检查并删除10个过期的键如果存在的话 set: function(key, value, duration) {// 在设置新的缓存之前先删除一些过期的键var expiredKeys Object.keys(this.cache).filter((key) this.get(key) -1);for (var i 0; i Math.min(10, expiredKeys.length); i) {delete this.cache[expiredKeys[i]];}// 然后设置新的缓存const now Date.now();const _value {value: value,duration: duration,start: now};this.cache[key] _value; }这个代码会在每次设置新的缓存之前先找出所有过期的键然后删除其中的前10个如果存在的话。这样我们就可以保证每次在设置新的缓存时都能够尽可能地释放一些空间。同时由于我们只删除了一部分过期的键所以这个步骤不会消耗太多时间。 获取缓存时返回剩余时间而不是判断是否过期 可以通过修改 get 方法在返回缓存值的同时返回剩余的有效时间。修改后的 get 方法如下所示 // 获取缓存数据 get: function(key) {// 获取当前时间const now Date.now();// 如果键存在if(this.cache.hasOwnProperty(key)){// 计算剩余的有效时间const remainingTime this.cache[key].duration - (now - this.cache[key].start);// 如果剩余的有效时间大于0返回数据和剩余时间if (remainingTime 0) {return { value: this.cache[key].value, remainingTime: remainingTime };} else {// 如果数据过期了就从缓存中删除并返回-1表示数据已失效delete this.cache[key];return { value: -1, remainingTime: 0 };}}else {// 如果键不存在直接返回-1和剩余时间0return { value: -1, remainingTime: 0 };} }这个版本的 get 方法返回了一个包含 value 和 remainingTime 的对象。 value 仍然代表键对应的值而 remainingTime 代表这个值的剩余有效时间以毫秒为单位。如果这个键不存在或已过期 value 会被设置为 -1 remainingTime 会被设置为 0 。 以上就是文章全部内容了如果喜欢这篇文章的话还希望三连支持一下感谢
http://www.dnsts.com.cn/news/161791.html

相关文章:

  • 长春能开发网站的公司永安网站制作
  • 咖啡店网站建设模版建立公司网站的目的
  • 阿里巴巴国际站下载淄博学校网站建设公司
  • 石家庄整站优化技术商丘58同城招聘网最新招聘
  • 网站设计背景图片怎么做的深圳办公室装修效果图
  • 江西省南昌市建筑工程网苏州seo公司 翼好
  • 东阳网站建设报价莆田网站建设建站系统
  • 网站升级改版需要几天镇江网页设计
  • php服装商城网站建设爱美刻在线制作网站
  • 湖南做网站 n磐石网络wordpress调用视频
  • 专业做网站建闵行区
  • 奉贤集团网站建设广告公司起名用字大全
  • 国外 家具 网站模板下载做资源教程网站
  • 网站改版新闻做网站常用的软件
  • 有没有好的网站门户网站是指
  • 网站做301重定向福州免费项目建设管理系统
  • 电子商务网站建设信息wordpress 最受欢迎文章
  • 惠州网站建设优化wordpress自定义html5
  • 建站之星快速建站价格深圳最新消息今天新增
  • 企业管理网站建设网站的空间怎么查
  • 军队房地产与建设工程法律实务在哪个网站可以购买虚拟主机wordpress解压位置
  • 国际摄影作品网站政务中心网站自身建设
  • 建设工程方面的资料在哪个网站下载比较方便河南省路桥建设集团网站
  • 安嶶省城乡建设网站嘉祥县建设局网站
  • 在线销售型的网站电子商务的就业方向
  • 网站建设专家哪家强作文网课哪家好
  • 有网站了怎么做app普通网站可以做商城
  • 大连做网站优化公司360提交网站
  • 郑州优化网站公司广东seo外包服务
  • 加强网站备案管理专业小程序商城开发