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

靖州网站建设查询网站流量的网址

靖州网站建设,查询网站流量的网址,ps网站首页设计图,深圳电商网站设计缓存淘汰策略 生产上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.hkea.cn/news/14395801/

相关文章:

  • ae做网站导航九口袋网站建设
  • 论坛网站建设公司网站规划与建设重点内容
  • 重庆网站建设沛宣大前端dux主题wordpress
  • 怎么制作网站封面可信赖的网站建设公司
  • 做网站工作条件丽江网络推广公司
  • 企业网站开发实训过程与内容广州网络营销品牌
  • 校友会网站建设查看网站是哪个公司做的
  • 网站开发时app打开很慢湖南网站优化代运营
  • 自己做的网站360显示过期黄冈seo顾问
  • 网站seo外包技术资源网站开发是怎么开发的
  • 灵川网站制作郴州市地图全图
  • 网站设计公司排名上海网站制作电话
  • 提供模板网站制作多少钱上海雍熙网站建设
  • 模板网站是啥意思毕节公司做网站
  • 网站建设组织网页设计风格分类
  • 百科网站模板高端网站建设必去磐石网络
  • 湖北智能网站建设找哪家厦门建设银行官方网站
  • 网站主机安全四川建设学习网官网
  • 企业网站推广服务多语言网站开发设计
  • 合肥网络公司seo建站网站设计是用什么做的
  • qq网站临时会话wordpress密码重置
  • 找人做网站如何担保营销型网站深度网
  • 备案 增加网站鄂伦春网站建设
  • 重庆网站设计案例中信建设有限责任公司世界排名
  • 姓名域名网站领取免费空间
  • 重庆大足网站建设wordpress怎么卖模板
  • 网站服务器维护方案网站的建设部署与发布
  • 北京做网站网站建设服务标准
  • 专门做app的原型网站百度精准营销获客平台
  • 制作网站专业公司哪家好装饰设计公司wordpress企业主题