Total1 = used1 + free1Total1 = used2 + free2Used1 = used2 + buffer1 + cached1Free2 = fr...
Total1 = used1 + free1Total1 = used2 + free2Used1 = used2 + buffer1 + cached1Free2 = fr...
Rabbit MQ & NodeJS & Protobuf 一、NodeJS Rabbit MQ 客户端封装 利用第三方库amqlib封装了一个简单的收发客户端。 二、结...
amqplib包提供了js访问Rabbit MQ 的接口 安装rabbit MQ 此时,通过 http://localhost:15672 查看,使用默认账户guest/gu...
智能指针 介绍 为了更容易(同时也更安全的管)的使用动态内存,C++11提供了智能指针来管理new出来的内存shared_ptr允许多个指针指向同一个对象;unique_pt...
堆排序 第一步构建最大堆第二部每次取出堆顶元素,然后调整余下的为最大堆 归并排序 分治思想 把大数组分成两个数组 分别对俩子数组排序 然后合并成新的大数组 快速排序
我们先来谈下幂等的概念 抽象概念 幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。 在编程中,一个幂等操作的特点是其任意多次执...
值传递就是认为你是基类啊,不会给你转成子类的
引用传递对象调用virtual方法引用传递的话,对于virtual函数可以正确调用正确的函数
respect
stringification of macro values引言 学习redis源码的过程中看到zmallo.h文件中有如下的宏定义: 联想到项目中也使用了这个技巧,当时使用这个技巧的原因在于,项目中定义了一个宏#defi...
https://www.boost.org/ 下载boost文件 boost在Ubuntu下安装 tar xvzf boost_1_50_0.tar.gz sudo ./bo...
线程池 使用 一种可能的输出 参考 https://github.com/lizhenghn123/zl_threadpool
std::bind 关于bind的用法:可将bind函数看作是一个通用的函数适配器,它接受一个可调用对象,生成一个新的可调用对象来“适应”原对象的参数列表。 其中,newCa...
future std::future 类型模板是为了等待其他线程上的异步结果,其和 std::promise,std::packaged_task类型模板,还有std::as...
引用传递的话,对于virtual函数可以正确调用正确的函数
C++0x中引入了static_assert这个关键字,用来做编译期间的断言,因此叫做静态断言。 其语法很简单:static_assert(常量表达式,提示字符串)。 如果第...
复制 slaveof master-ip master-port SYNC 1、从服务器发送 SYNC命令同步数据库数据 2、主服务器收到SYNC命令后,执行BGSAVE,生...
介绍 Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证: 批量操作在发送 EXEC 命令前被放入队列缓存。 收到 EXEC 命令后进入事务执行,事务中...
发布与订阅 一、介绍 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 SUBSCRIBE channel [c...