// 上一篇:必经之地(using) // 下一篇:程序计数器(PC) 基于语言提供的基本控制结构,更好地组织和表达程序,需要良好的控制结构. There are only two hard things in computer science: cache invalidation and naming things. --Phil Karlton 前情回顾 上一次,我们写了资源打开关闭自动化的控制结构.有熟悉ObjectC语言的朋友补充了一个苹果的做法: autorelease pool 比…
// 上一篇:必经之地(using) // 下一篇:程序计数器(PC) 基于语言提供的基本控制结构,更好地组织和表达程序,需要良好的控制结构. There are only two hard things in computer science: cache invalidation and naming things. --Phil Karlton 前情回顾 上一次,我们写了资源打开关闭自动化的控制结构.有熟悉ObjectC语言的朋友补充了一个苹果的做法: autorelease pool 比…
当 Redis 作为缓存使用时,当你添加新的数据时,有时候很方便使 Redis 自动回收老的数据.LRU 实际上是被唯一支持的数据移除方法.Redis 的 maxmemory 指令,用于限制内存使用到一个固定的容量,也包含深入探讨 Redis 使用的 LRU 算法,一个近似准确的 LRU. maxmemory 配置指令(configuration directive) maxmemory 配置指令是用来配置 Redis 为数据集使用指定的内存容量大小.可以使用 redis.conf 文件来设置配…
一.简介 LRU 实际上是被唯一支持的数据移除方法,同时也是 memcached 默认支持的缓存算法. 二.配置内存大小 在 redis.conf 文件中使用 maxmemory 指令能够配置内存大小.例子如下: // 配置内存限制为 100M maxmemory 100mb 设置 maxmemory 为 0,表示没有内存限制.这是 64 位系统的默认行为,32 位的系统则使用 3G 大小作为隐式的内存限制. 当指定的内存容量到达时,需要选择不同的策略. 三.回收策略 当 maxmemory 限…
LRU Cache Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and set. get(key) - Get the value (will always be positive) of the key if the key exists in the cache, otherwise retu…
// 上一篇:最近最少使用(LRU) // 下一篇:线性化(linearization) 程序的每一行都是一个状态,对应的行指令.同步的情况下同一个pc一直自增,异步的时候,分裂出一个新的子pc,独立一颗子状态机.之所以要分裂一个pc是因为原来的pc后续的同步代码要用,而创建协程就会一开始就创建出一个新pc,这个pc专为协程里的状态机服务,则协程可以在异步点随时yield,也就是暂存独立的pc,跳转到旧pc去执行,然后再resume到新pc这里.基本上,就是两个状态机之间轮流占用时间片.一个独立…
当 Redis 作为缓存使用时,当你添加新的数据时,有时候很方便使 Redis 自动回收老的数据.LRU 实际上是被唯一支持的数据移除方法.Redis 的 maxmemory 指令,用于限制内存使用到一个固定的容量,也包含深入探讨 Redis 使用的 LRU 算法,一个近似准确的 LRU. maxmemory 配置指令(configuration directive) maxmemory 配置指令是用来配置 Redis 为数据集使用指定的内存容量大小.可以使用 redis.conf 文件来设置配…
常见的缓存淘汰策略: 先进先出 FIFO 最少使用LFU(Least Frequently Used) 最近最少使用 LRU(Least Recently Used) 链表定义: 链表也是线性表的一种, 数组需要一块连续的内存空间来存储,对内存要求比较高, 链表恰恰相反,它并不需要一块连续的内存空间,它通过"指针"将一组零散的内存块 串联起来使用. 最常见的链表结构: 单链表 双向链表 循环链表 用空间换时间: 当内存空间充足的时候,如果更加追求代码的执行速度,可以选择空间复杂度相对较…
<?php //mysql语句使用技巧 /* * 我的数据库是5.5.2 * * 查询当前用户的登陆的名字 * select user(); * * 查询当前mysql服务器时间和服务器版本 * select version(),current_time; * * * 修改一个字段的属性 * * * 查看mysql数据库的user表,查看授权用户 * use user; * select host,user,password from user; * * 在shell 或者dos下登陆mysql…
每次把新博客的链接分享到技术群里,我常常会附带一句:蚂蚁搬家.事实上也确实如此,坚持1篇1篇的把自己做过.思考过.阅读过.使用过的技术和教育相关的知识.方法.随笔.索引记录下来,并持续去改进它们,希望自己能有持续的学习成长,也希望对读者提供有效帮助.更重要的是,在博客上,逐渐获得了与许多老师.技术朋友.学生的交流,弥足珍贵.做一个索引,方便自己也方便需要的读者查阅.每篇博客,我都会尽可能去持续更新,流水不腐.户枢不蠹,这也是我喜欢在博客上持续记录的原因之一. 0x01 工具/技术 工具 工具(1…