erpeng's code area


  • Home

  • Tags

  • Archives

Redis中的lru算法实现

Posted on 2018-12-21 |
lru是什么lru(least recently used)是一种缓存置换算法。即在缓存有限的情况下,如果有新的数据需要加载进缓存,则需要将最不可能被继续访问的缓存剔除掉。因为缓存是否可能被访问到没法做预测,所以基于如下假设实现该算法: 如果一个key经常被访问,那么该key的idle time应该 ...
Read more »

Redis 懒删除(lazy free)简史

Posted on 2018-12-15 |
Redis是单进程单线程模式吗下图为Redis5.0启动之后的效果。LWP为线程ID,NLWP为线程数量。可以看到,5.0的redis server共有四个线程,一个主线程48684,三个bio(background IO,后台io任务)线程,三个后台线程分别执行不同的io任务,我们重点考察删除一个 ...
Read more »

NGINX HTTP2 处理流程

Posted on 2018-12-11 |
本文通过一个小例子串一遍nginx处理http2的流程。主要涉及到http2的协议以及nginx的处理流程。 http2简介http2比较http1.1主要有如下五个方面的不同: 二进制协议 http1.1请求行和请求头部都是纯文本编码,即可以直接按ascii字符解释,而http2是有自己的编码格 ...
Read more »

NGINX 4xx 5xx 状态码构造

Posted on 2018-09-18 |
nginx配置123456789101112131415161718192021222324252627282930313233343536373839worker_processes 1;events { worker_connections 1024;}http & ...
Read more »

Redis有序集合指令学习

Posted on 2018-07-11 |
ZADDZADD key [NX|XX] [CH] [INCR]score member [score member …] 将元素及对应分值添加到一个有序集合中 NX:不更新已经存在的key,只增加新元素 XX:只更新已经存在的key,不增加新元素 CH:abbr:changed.不指定时只返回新增 ...
Read more »

Redis scan命令原理

Posted on 2018-06-22 |
scan类型命令1234567SCAN cursor [MATCH pattern] [COUNT count]SSCAN KEY cursor [MATCH pattern] [COUNT count]HSCAN KEY cursor [MATCH pattern] [COUNT count]Z ...
Read more »

Redis单机版本框架

Posted on 2018-06-07 |
Redis主流程伪代码1234567891011def main(): init_server() while server_is_not_shutdown(): time = aeSearchNearestTimer() beforeSleep() aeApi ...
Read more »
<1…89

87 posts
43 tags
GitHub
© 2022 erpeng
Powered by Hexo
|
Theme — NexT.Muse v5.1.4