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

珠宝网站制作的理念yum安装wordpress

珠宝网站制作的理念,yum安装wordpress,WordPress提高打开速度,黄石网络推广缓存淘汰策略 生产上redis内存设置为多少 设置为最大内存的 3/4 redis 会占用物理机多少内存 默认大小是 0#xff0c;64 位系统下表示不限制内存大小#xff0c;32位系统表示 3G 如何设置修改redis内存大小 config get maxmemory 查看修改方式 配置文件 单位是字节 2.…缓存淘汰策略 生产上redis内存设置为多少 设置为最大内存的 3/4 redis 会占用物理机多少内存 默认大小是 064 位系统下表示不限制内存大小32位系统表示 3G 如何设置修改redis内存大小 config get maxmemory 查看修改方式 配置文件 单位是字节 2. font stylecolor:#000000;临时修改重启后失效 config set maxmemory 104857600/font如果redis内存满了会怎么样 redis 将会报错(error) OOM command not allowed when used memory ‘maxmemory’ 通过命令查看 redis 内存使用情况? info memory redis 对于过期 key 的三种不同删除策略 定时删除创建kv的同时cpu会创建定时器内存友好cpu占用高 惰性删除再次访问这个 key 的时候才会去检查过期时间内存不友好 定时删除每隔一段时间去抽样扫描一定注意不是所有数量的key是否过期并可通过限制执行的频率和时长来控制对 cpu 的影响折中但可能存留较多过期key并且需要根据具体情况合适的设置频率和时长 如果执行时间太长退化成定时。太短则又会出现过期key太多 引出兜底方案缓存淘汰策略 redis 缓存淘汰策略 8种内存淘汰策略 noevition: 不操作 默认看上面oom案例allkeys-lru: 对所有 key 使用 lruvolatile-lru: 对所有设置了过期时间的key lruallkeys-randomvolatile-randomvolatile-ttl: 删除快要过期allkeys-lfu lfuvolatile-lfu 修改 - maxmemory-policy 总结记忆 2个维度 过期键中筛选 allkeys所有键中筛选 volatile 4个方面 lru 最少使用最长时间未被使用lfu 最不常用一段时间内使用次数最少random 随机ttl 用哪种 后两种都对业务有精确的要求推荐 allkeys-lru lru算法手写最近最少使用算法 leetcode 146 哈希链表 基于 LinkedHashMap 的写法 public class LruCacheDemoK,V extends LinkedHashMapK,V {private int capacity;public LruCacheDemo(int capacity) {super(capacity, 0.75f, false); // true accessOrder false insertionOrderthis.capacity capacity;}Overrideprotected boolean removeEldestEntry(Map.EntryK, V eldest) {return super.size() capacity;}public static void main(String[] args) {LruCacheDemo lruCacheDemo new LruCacheDemo(3);lruCacheDemo.put(1, 1);lruCacheDemo.put(2, 2);lruCacheDemo.put(3, 3);System.out.println(lruCacheDemo.keySet());lruCacheDemo.put(4, 4);System.out.println(lruCacheDemo.keySet());lruCacheDemo.put(3, 3);System.out.println(lruCacheDemo.keySet());lruCacheDemo.put(3, 3);System.out.println(lruCacheDemo.keySet());lruCacheDemo.put(3, 3);System.out.println(lruCacheDemo.keySet());lruCacheDemo.put(5, 5);System.out.println(lruCacheDemo.keySet());} } /*** true* [1, 2, 3]* [2, 3, 4]* [2, 4, 3]* [2, 4, 3]* [2, 4, 3]* [4, 3, 5]*/ // false只看插入顺序不看访问顺序多次插入33的位置不变 /*** false*[1, 2, 3]* [2, 3, 4]* [2, 3, 4]* [2, 3, 4]* [2, 3, 4]* [3, 4, 5]*/手写的案例 // 手写 LruCache public class MyLruCacheDemo {// map 负责查找构建一个虚拟的双向链表它里面安装的就是一个个Node节点作为数据载体// 1 构造一个 Node 作为数据载体class NodeK, V {K key;V value;NodeK, V prev;NodeK, V next;public Node() {this.prev this.next null;}}//2 构建一个虚拟的双向链表里面安放的就是我们的Nodeclass DoubleLinkedListK, V {NodeK, V head;NodeK, V tail;// 2.1 构造方法public DoubleLinkedList() {head new NodeK, V();tail new NodeK, V();head.next tail;tail.prev head;}//2.2 添加到头public void addFirst(NodeK, V node) {node.next head.next;node.prev head;head.next.prev node;head.next node;}//2.3 删除节点public void remove(NodeK, V node) {node.prev.next node.next;node.next.prev node.prev;node.prev null;node.next null;}//2.4 获得最后一个节点public NodeK, V getLast() {return tail.prev;}}private int cacheSize;MapInteger, NodeInteger, Integer map;DoubleLinkedListInteger, Integer doubleLinkedList;public MyLruCacheDemo(int cacheSize) {this.cacheSize cacheSize; // 坑位map new HashMap(); // 查找doubleLinkedList new DoubleLinkedList();}public int get(int key) {if (!map.containsKey(key)) {return -1;}NodeInteger, Integer node map.get(key);doubleLinkedList.remove(node);doubleLinkedList.addFirst(node);return node.value;}// saveOrUpdatepublic void put(int key, int value) {if (map.containsKey(key)) { // updateNodeInteger, Integer node map.get(key);node.value value;doubleLinkedList.remove(node);doubleLinkedList.addFirst(node);} else {if (map.size() cacheSize) { // 坑位满了NodeInteger, Integer last doubleLinkedList.getLast();map.remove(last.key);doubleLinkedList.remove(last);}// 才是新增NodeInteger, Integer node new Node();node.key key;node.value value;map.put(key, node);doubleLinkedList.addFirst(node);}}public static void main(String[] args) {MyLruCacheDemo lruCacheDemo new MyLruCacheDemo(3);lruCacheDemo.put(1, 1);lruCacheDemo.put(2, 2);lruCacheDemo.put(3, 3);System.out.println(lruCacheDemo.map.keySet());lruCacheDemo.put(4, 4);System.out.println(lruCacheDemo.map.keySet());lruCacheDemo.put(3, 3);System.out.println(lruCacheDemo.map.keySet());lruCacheDemo.put(3, 3);System.out.println(lruCacheDemo.map.keySet());lruCacheDemo.put(5, 5);System.out.println(lruCacheDemo.map.keySet());} }
http://www.w-s-a.com/news/539008/

相关文章:

  • 云南省城乡住房与建设厅网站用什么网站可以做电子书
  • 自己电脑怎么做网站服务器吗0基础如何做网站
  • 做网站的股哥网络整合营销方案策划
  • 网站你懂我意思正能量晚上唯品会网站开发费用
  • 网站认证金额怎么做分录网页无法访问是怎么回事
  • 樟木头建网站的wordpress自适应吸附菜单
  • 番禺网站设计威海微网站建设
  • 新乡网站建设服务网站建设的点子
  • 赛罕区城乡建设局网站什么是新媒体运营
  • 松原企业网站建设设计素材网排名
  • 网站建设是那个行业广东公司排名
  • 制作网站要多少钱seo是如何优化
  • 求个网站2020急急急做金融网站拘留多久
  • 网站后台管理系统怎么进seo网络推广外包公司
  • 中山市 做网站网站建设如何上传文件
  • 网站呢建设公众号制作要求
  • 网站备案证明在自己电脑上做网站
  • 沈阳旅游团购网站建设怎么制作网站搜索窗口
  • 做化学合成的网站有哪些枣庄住房和城乡建设局网站
  • 天猫优惠券网站怎么做的网络连接
  • 保定网站建设多少钱公司网页网站建设+ppt模板下载
  • 用户上传商品网站用什么做建设跳转公积金网站
  • 买程序的网站上海市网站建设公司
  • 南通网站建设排名公司哪家好wordpress网站图片迁移
  • 河南省汝州文明建设门户网站博客网站建设源码
  • 单位建设网站的请示手机移动端网站案例
  • 国内做网站的企业网站结构有哪些类型
  • 南通网站建设制作公司苏州好的网站公司名称
  • 咸阳做网站开发公司哪家好珠海公司制作网站
  • 深圳网站建设好不好医疗网站前置审批