摘要: intel的x86这种架构为了兼容以前同系列的架构有一些很繁琐无用的东西。比如分段和分页两种机制都可以实现隔离进程的内存空间,在x86上两种机制都有,用起来比较繁琐。所以linux内核在启动的时候通过把各个段的起始地址都设置成0,把逻辑地址直接映射到虚拟地址,也就是说在linux里逻辑地址和虚拟地址 阅读全文
posted @ 2018-12-21 10:31 属性 阅读(1150) 评论(0) 推荐(0) 编辑
摘要: 原文地址:https://redis.io/topics/lru-cache Redis可以用来作缓存,他可以很方便的淘汰(删除)旧数据添加新数据,类似memcached。LRU只是其中的一种置换算法,这篇文章介绍了maxmemory配置命令和LRU算法的一些深入讨论,这里的LRU只是一种近似LRU 阅读全文
posted @ 2018-12-19 23:10 属性 阅读(794) 评论(0) 推荐(0) 编辑
摘要: hostA和hostB之间是IPV6连接的,但是之前的服务只能支持IPV4,兼容IPV6比较困难。所以用隧道实现hostA和hostB之间用IPV4连接。 hostA如下: hostB如下: 这样hostA就可以和hostB用IPV4连接了。缺点:有一个客户端就要建立一个隧道,如果客户端很多消耗资源 阅读全文
posted @ 2018-12-12 18:31 属性 阅读(1533) 评论(0) 推荐(0) 编辑
摘要: 好多年前看过redis的代码,那个时候还是2.6的版本,集群和哨兵还没加入正式代码,这几年redis发展的好快。简略翻译一篇文章redis的https://redis.io/topics/protocol redis的客户端和服务器通过一种叫RESP (REdis Serialization Pro 阅读全文
posted @ 2018-11-22 22:20 属性 阅读(4559) 评论(0) 推荐(0) 编辑
摘要: 其实rewrite指令和上一篇说的if/set/return/break之类的没多大差别,但是rewrite用起来相对复杂,我就把他单独放到了这里。想要弄懂nginx的脚本引擎需要先明白处理request的十一个处理阶段,不懂的话先去搜一下看看,网上很多。先说一下rewrite的用法吧。 regex 阅读全文
posted @ 2018-11-21 18:44 属性 阅读(404) 评论(0) 推荐(0) 编辑
摘要: nginx的脚本的语法和shell是很像的,我大致看了一下觉得挺有意思的,就想写写记录一下。我没看过shell脚本的引擎,不知道nginx脚本引擎和shell脚本引擎像不像,但是我觉得nginx的脚本引擎有点像C和汇编。 ngx_http_script_engine_t这个结构就代表了一段脚本,ip 阅读全文
posted @ 2018-11-19 20:51 属性 阅读(1822) 评论(0) 推荐(0) 编辑
摘要: 本来想写一下nginx的脚本引擎的,但是看起来实在是有点庞大,一时间还不知道该从哪里写比较好。就先写一下他的变量系统吧,这是脚本引擎非常重要的组成部分。 首先为了表述清楚先规定几个术语吧 内置变量:nginx配置文件里不用set就可以直接用的变量。(比如$uri/$host等) 先看带缓存的内置变量 阅读全文
posted @ 2018-11-19 12:12 属性 阅读(2951) 评论(0) 推荐(0) 编辑