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

视频网站开发架构有没有好的网站可以学做头发

视频网站开发架构,有没有好的网站可以学做头发,软件工程师中级证书,有没有做彩票直播的网站1、Redis的内存回收 在Redis中可以设置key的过期时间#xff0c;以期可以让Redis回收内存#xff0c;循环使用。在Redis中有4个命令可以设置Key的过期时间。分别为 expire、pexpire、expireat、pexpireat。 1.1、expire expire key ttl#xff1a;将key的过期时间设置为tt…1、Redis的内存回收 在Redis中可以设置key的过期时间以期可以让Redis回收内存循环使用。在Redis中有4个命令可以设置Key的过期时间。分别为 expire、pexpire、expireat、pexpireat。 1.1、expire expire key ttl将key的过期时间设置为ttl秒。 1.2、pexpire pexpire key ttl将key的过期时间设置为ttl毫秒。 1.3、expireat expireat key timestamp将key的过期时间设置为指定的timestamp(时间戳秒)。 1.4、pexpireat pexpireat key timestamp将key的过期时间设置为指定的timestamp(时间戳毫秒)。 PS不论使用的是哪个命令。Redis最终都是使用pexpireat命令实现。 1.5、ttl ttl key查看key剩余过期时间(秒) 1.6、pttl pttl key查看key的剩余过期时间(毫秒) PS如果未设置过期时间则返回-1如果key不存在则都返回-2。 RedisDb结构体定义 typedf struct redisDb{dict *dict; //数据库的键空间保存数据库中的所有键值对dict *expires; //保存所有过期的键dict *blocking_keys; //keys for clients waiting for data(blpop)dict *ready_keys; //Blocked keys that received PUSHdict *watched_Keys; //watched keys for multi/exec casint id; //数据库ID字段代表不同的数据库long long avg_ttl; //average TTL, just for stats }redisDb;2、Redis的过期策略 2.1、定时删除 为每个key创建一个定时任务一旦到达过期时间就立即删除。该策略可以立即清除掉过期的key对内存友好但是对CPU不友好回影响Redis的吞吐量和响应时间。 2.2、惰性删除 当访问一个key时才判断这个key是否过期如果过期的话就删除。该策略能最大的节省CPU的资源。但是对内存不是很友好极端情况下可能存在大量的key已经过期但是由于在过期后就没有被访问过导致无法被删除。 2.3、定期删除 每个一段时间扫描Redis中过期key字典(expires)并清除部分过期的key。该策略是前两者的一个折中方案可以通过调整定时扫描的时间时间和每次扫描的限定耗时在不同情况下使得CPU和内存资源达到最优平衡。 在Redis中同时使用了惰性删除和定期删除。 3、Redis淘汰策略 Redis的内存淘汰策略是指内存达到maxmemory极限时使用某种算法来决定清理掉哪些数据以保证新数据的写入。 3.1、Redis的内存淘汰机制 no-eviction当内存不足写入新数据时新写入操作会报错。allkeys-lru当内存不足以写入新数据时在所有的key中采用LRU算法删除最近最少使用的key。allkeys-random当内存不足以写入新数据时在所有的key中随机删除某个key。volatile-lru当内存不足以写入新数据时在设置了过期时间的key中采用lru算法删除最近最少使用的key。volatile-random当内存不足以写入新数据时在设置了过期时间的key中随机删除某个key。volatile-ttl当内存不足以写入新数据时在设置了过期时间的key中删除最快过期的key删除。volatile-lfu当内存不足以写入新数据时在设置了过期时间的key中删除使用频率最少的的key。allkeys-lfu当内存不足以写入新数据时在所有的key中采用lfu算法删除使用频率最少的key。 3.2、LRU算法-标准实现 标准的LRU实现方式 添加新的数据时会将新数据放到链表的头部。当数据被访问时被访问的数据会被放到链表的头部。当链表满时会将链表尾部的数据删除。 正常的LRU算法的实现是采用Map双向链表的方式实现的。也即是在访问数据时先使用map判断下是否存在如果存在则将被访问的数据移动到链表的头部。如果添加数据会现在链表的头部添加成功之后在放到map中。 3.3、LRU算法-Redis实现 Redis中的LRU算法并不是标准的LRU算法而是一种近似LRU算法。在Redis3.0之前Redis是随机取出若干个key(默认是5个可以通过maxmemory-samples配置)然后删除取出key中最久被访问的那个key。 在Redis3.0之后改进了LRU算法的实现采用维护一个回收候选键池的方式。 首先第一次随机取的key会被放到一个pool中(pool的大小为16)pool中的key是按照key的最近访问的时间排序的(lru)。接下来每次随机取的keylru值都必须小于pool中最小的lru才能被继续放入。放满之后每次如果有新的key需要放入需要将pool中lru最大的一个key取出。淘汰的时候直接从pool中选出一个lru最小的key进行删除。
http://www.w-s-a.com/news/712939/

相关文章:

  • 适合推广的网站世界搜索引擎公司排名
  • 合肥网站建设费用ppt在哪个软件制作
  • 湖南省住房和城乡建设厅门户网站网站建设课程性质
  • 如何设计公司网站公司网站空间要多大
  • 建筑公司网站排名5G网站建设要多少个
  • seo怎样新建网站弹簧东莞网站建设
  • 在线做爰直播网站石家庄房产
  • 建筑网站哪里找拓者设计吧首页
  • 广州网站的建设wordpress注册数学验证码
  • 装修平台自己做网站有几个黄页名录网站开发
  • php网站的安全优势平面设计师培训
  • 乐清市网站建设设计重庆沙坪坝区
  • 什么是seo站内优化开发网页的工具有哪些
  • 文化类网站是不是休闲娱乐类网站青州市建设局网站
  • 网站的中英文切换代码做现货黄金网站
  • 万江区网站建设公司前端如何根据ui设计写页面
  • 宿迁公司做网站手机免费创建网站的软件
  • 免费可商用素材网站山东威海网站开发
  • 建设网站什么语言比较合适柳州建设网经济适用房
  • 企业网站的主要功能板块平台推广是做什么的
  • 网页网站自做全搞定西安建设工程信息网诚信平台
  • 网站vip怎么做建网站外包公司
  • 胶州建网站域名不备案可以正常使用吗
  • 网站建设客户开发方案软件工程师行业分析
  • 沈阳网站建设黑酷科技微信小程序怎么一键删除
  • 做网站产品搜索展示实现西安百度推广服务公司
  • 建立网站接受投注是什么意思一般使用的分辨率的显示密度是多少
  • 怎么建立一个网站开展业务网站建设人员的工资分配
  • 求职网站建设方案企业网站开发需求分析
  • 西安企业网站开发可以做哪些有趣的网站