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

做英文网站多钱电子商务seo是什么意思

做英文网站多钱,电子商务seo是什么意思,有手机网站了还要微网站吗,网站建设的目标首先我们需要创建一个名为TimeLimitedCache的构造函数,然后定义一些方法,如set, get,和count。以下是具体的示例代码: // 定义 TimeLimitedCache 构造函数 var TimeLimitedCache function( ) {// 初始化一个空的 cache 对象,用于…

首先我们需要创建一个名为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,  // 所需缓存的时间(ms)start: 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.zhongyajixie.com/news/22892.html

相关文章:

  • 电子商务网站建设系统功能舆情分析报告案例
  • 嘉兴公司做网站网络培训心得体会5篇
  • 启东市住房建设局网站域名查询ip138
  • 北京网站模仿百度seo排名优化公司哪家强
  • wordpress主题windowsseo搜索排名优化公司
  • 导购网站如何做免费推广龙华网站建设
  • 织梦cms发布侵权网站清单seo服务外包价格
  • 做网站用的软件是什么了类似互推商盟的推广平台
  • 专业微网站建设公司首选公司短视频代运营公司
  • 河南企起网站建设微信营销方案
  • 柳市做网站线上销售水果营销方案
  • 我想做网站怎么做南宁关键词优化公司
  • 站酷网电脑版游戏交易平台
  • 网站建站 在线制作百度热门关键词排名
  • 重庆市城市建设综合开发办网站西安做网页的公司
  • 网站设计制作新报价网络推广公司哪家做得好
  • ppt那个网站做的好站优化
  • 网站分享平台刷关键词排名seo软件
  • 做网站的像素网络外贸推广
  • 广州网站seo推广排名软件
  • asp.net 网站的编译渠道网络
  • 公司发布网站需要备案吗竞价排名是什么
  • 专业做英文网站百度关键词如何优化
  • 网站必须做电子认证吗如何注册域名
  • 趴比库的网站是谁建设的百度搜图入口
  • 怎样通过阿里巴巴网站开发客户windows优化大师下载安装
  • 网站移动排名网站优化排名方案
  • 怎样在网站上做免费的推广seo知识分享
  • 刷题网站建设百度电话销售
  • 宁波网站排名公司外贸seo推广公司