摘要:
网络模型 nonblocking + IO多路复用 原因: 1.nonblock io + 轮询等待事件完成不可取 (耗CPU cycle) 2.IO多路复用不能用block IO,因为read,write会阻塞当前线程,这样就不能单线程处理另外已经就绪的其他connfd IO事件 一个线程一个ev 阅读全文
摘要:
Redis是什么 面试官:你先来说下redis是什么吧 我:(这不就是总结下redis的定义和特点嘛)Redis是C语言开发的一个开源的(遵从BSD协议)高性能键值对(key-value)的内存数据库,可以用作数据库、缓存、消息中间件等。它是一种NoSQL(not-only sql,泛指非关系型数据 阅读全文
摘要:
使用场景 缓存数据与索引数据,把磁盘或另一台机器上的数据加载到缓冲池,避免每次访问都进行磁盘IO或网络通信,起到加速访问的作用。写可以采用写回策略,写入缓冲池后标记为dirty,然后直接返回;后台自动下刷或者淘汰下刷。 什么是预读 磁盘读写,并不是按需读取,而是按页读取,一次至少读一页数据(一般是4 阅读全文
摘要:
链表法: 扩容: 其实与Redis类似,链表法解决哈希冲突,扩容就是当负载因子>1时,新开一个buckets,大小为>num_element的下一个质数,并遍历原来的buckets将原来的元素rehash迁移到新的buckets中。迁移完成后把tmp表换成buckets表即可。 如果扩容期间插入或查 阅读全文
摘要:
基本上常用的新特性都用上了,可以作为学习C++11新特性的一个很好的例子。 源码如下 #pragma once #include <mutex> #include <condition_variable> #include <queue> #include <thread> #include <fu 阅读全文
摘要:
vscode yyds setlocal noswapfile " 不要生成swap文件 set bufhidden=hide " 当buffer被丢弃的时候隐藏它 set number " 显示行号 set cursorline " 突出显示当前行 set ruler " 打开状态栏标尺 set 阅读全文
摘要:
Chap1 安装Docker CE Docker有两个分支版本:Docker CE和Docker EE,即社区版和企业版。本教程基于CentOS 7安装Docker CE。 \1. 安装Docker的依赖库。 yum install -y yum-utils device-mapper-persis 阅读全文
摘要:
Chap1 安装 OwnCloud OwnCloud是一款开源的云存储软件,基于PHP的自建网盘。基本上是私人使用,没有用户注册功能,但是有用户添加功能,你可以无限制地添加用户,OwnCloud支持多个平台(windows,MAC,Android,IOS,Linux)。 \1. 执行以下命令,添加一 阅读全文
摘要:
Chap1 安装Apache服务 \1.执行如下命令,安装Apache服务及其扩展包 yum -y install httpd httpd-manual mod_ssl mod_perl mod_auth_mysql \2. 执行如下命令,启动Apache服务。 systemctl start ht 阅读全文
摘要:
题目【拆点】【分层图】【最短路】 思路 拆点: 将一个状态 拆为 k+1 个状态 原来dijkstra(dist, j) 现在拆成k+1个状态, 状态变为(dist, j, cnt) cnt为当前已免费使用的次数 代码(dijkstra + 拆点) #include <bits/stdc++.h> 阅读全文