万金油之缓存

在互联网产品中,缓存无处不在。当一个网站前期请求量少,服务响应很快,当随着请求增加响应越来越慢。这时需要对请求的入口合并、业务调整、底层代码重构、数据库SQL与表等等优化后提高响应最终提升整体的性能,也可以引入缓存以提高吞吐量。但是引入缓存也带了维护的问题,比如脏数据的问题、缓存数据更新的策越等等。

Git Submoduel的基本使用

  • 当项目越来越大之后,用一个仓库维护进行版本维护。导致.git文件会越来越大,会造成 request body 过大等http协议上的错误。所以需要将一个大项目拆分各个子模块独立进行版本管理。同时还可以设置专人负责模块。
  • 当项目越来越成熟,关注较高时,项目设计成对外开放(例如可以自由切换模板、可以安装插件)。当作者发现某些第三方的模块受关注度较高时。可以引入第三方放的模块。例如OpenWRT,Jenkins、ES等

Arch快速配置

软件源 /etc/pacman.d/mirrorlist 在头部追加 1Server = http://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/$arch/$repo 2Server = http://mirrors.ustc.edu.cn/archlinuxarm/$arch/$repo 3Server = http://mirrors.stuhome.net/archlinuxarm/$arch/$repo 安装需要的依赖 pacman -S gcc python python-pip tar curl wget vim zsh wiringpi docker git 禁用ipv6 参 …

Rabbitmq

RabbitMQ 系统之间解耦 基于订阅的关系,应用程序之间共享传递数据。 异步处理业务。 缓解系统瓶颈:在访问量剧增的情况下,应用系统不用等待处理结果,用消息队

Synchronizd Lock 锁升级 AQS

Synchronized 在1.5以前是重量级锁,当遇到synchronzed时,其他线程需要等待并进入blocked状态。 在1.6以后,经过大量的测试发现加锁的地