加载中
理解Rust的Send和Sync

Rust为了保证多线程环境下的内存安全,引入了Send和Sync。这两个是auto triat,也就是说编译器会自动判断变量是否满足这两个trait,毋需手动实现。 定义 Send: 变量可以安全的发送给另一个线...

2021/04/11 21:51
951
Rust的原子操作

Rust标准库std::sync::atomic提供原子操作的实现,有AtomicBool, AtomicI8, AtomicI16, AtomicI32, AtomicI64, AtomicPtr, AtomicU8, AtomicU16, AtomicU32, AtomicU64, AtomicUsize等类型,...

2021/03/07 11:41
3.4K
linux下使用tc和netem模拟复杂网络环境

netem(Network Emulator)可以用来对网卡发出的数据包进行增加延迟、丢包、重复、乱序等处理,来模拟复杂网络环境。netem的设置依赖tc命令,tc是Linux内核提供的流量控制工具。 基本用法 对e...

2019/12/29 20:58
6.6K
基于sentinel构建高可用redis集群的注意事项

部署redis高可用集群时,通常会用到redis官方的sentinel。sentinel监控master状况,master宕机时进行集群master的故障转移。部署时方法网上很多,这里列出了一些需要注意的事项。 设置相同的...

2019/08/18 21:15
2.6K
bash执行shell脚本时报错 save_bash_input: buffer already exists for new fd XXX

最近发现在lua中通过os.execute执行系统shell脚本时,偶尔会发生错误退出,最后发现是bash本身的问题。 对于下面的shell脚本 #!/bin/bash for fd in `seq 11 254`; do eval "exec $fd< ...

2018/05/28 23:11
3.1K
ngx_lua的代码缓存

Lua代码的执行一般要先将代码变成成字节码,然后再Lua虚拟机中执行字节码。lua-nginx-module将编译后的结果保存了下来,这样只需要编译一次,之后便可以直接使用,省去了编译的消耗。 Lua代码...

Nginx的文件分片-slice模块

Nginx的slice模块可以将一个请求分解成多个子请求,每个子请求返回响应内容的一个片段,让大文件的缓存更有效率。 HTTP Range请求 HTTP客户端下载文件时,如果发生了网络中断,必须重新向服务...

2018/03/14 23:23
2.4W
Nginx stream模块的执行阶段

Nginx的stream模块提供了TCP负载均衡的功能,最初的stream模块比较简单,在nginx-1.11.4后也开始采用类似HTTP模块中分阶段处理请求的方式。 stream模块的处理阶段 在ngx_stream.h中定义了str...

2017/06/27 23:32
1W

没有更多内容

加载失败,请刷新页面

返回顶部
顶部