五种基于go的轻量级数据库的比较
五种基于go的轻量级数据库的比较 本项目基于github上的开源项目badger-bench对五种基于go的轻量级数据库——badger、lmdb、boltdb、rocksdb,leveldb——进行比较。 项目原址: badger-bench 一、实验环境 本项目的运行环境为Ubuntu 9.3.0-17ubuntu1~2… 阅读更多 »五种基于go的轻量级数据库的比较
五种基于go的轻量级数据库的比较 本项目基于github上的开源项目badger-bench对五种基于go的轻量级数据库——badger、lmdb、boltdb、rocksdb,leveldb——进行比较。 项目原址: badger-bench 一、实验环境 本项目的运行环境为Ubuntu 9.3.0-17ubuntu1~2… 阅读更多 »五种基于go的轻量级数据库的比较
1. golang中的指针类型 指针有三个类型: 一种是我们常见的,用去表示的指针; 一种是unsafe.Pointer,Pointer是unsafe包下的一个类型; 最后一种是uintptr,uintptr 这玩意是可以进行运算的也就是可以++–; 他们之间有这样的转换关系: *<=> unsafe.Pointer… 阅读更多 »Golang unsafe 和 uintptr 指针(转载)
1. 类型转换方式 1.1. 强制类型转换 语法:<结果类型> := <目标类型> ( <表达式> ) 类型转换是用来在不同但相互兼容的类型之间的相互转换的方式,所以,当类型不兼容的时候,是无法转换的。 func main() { //整型int强转为浮点型,强转为int64 var num1… 阅读更多 »Golang类型转换小结
golang标准库中提供了bytes包,该包几乎和strings包给string提供的功能一样,只不过bytes包对应的是[]byte。和strings一样,并不修改传入变量,而是返回其副本修改之后的内容。 整个包分为以下几种操作:转换、比较、去除、分割、查找、替换 1. 转换 将s的副本中所有字符修改成大写(小写),然后返回 … 阅读更多 »golang中bytes包(转载)
1. 进程启动 先准备ovs的工作目录,数据库存储路径等 mkdir -p /etc/openvswitch mkdir -p /var/run/openvswitch 先启动ovsdb-server ovsdb-server /etc/openvswitch/conf.db \ -vconsole:emer -vsyslog:… 阅读更多 »OVS常用命令与使用总结(转载)
1. 幂等性 用户对同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。 2. 造成重复消费的原因 因为网络传输等等故障,确认信息没有传送到消息队列,导致消息队列不知道自己已经消费过该消息了,再次将该消息分发给其他的消费者。 例子1 在支付场景中,用户购买商品后支付,支付扣款成功,但是返回结果的时候… 阅读更多 »幂等性及数据防重复(转载)
1. 基础命令 watch可以帮你监测一个命令的运行结果,来监测你想要的一切命令的结果变化 常见命令参数 Usage: watch [-dhntv] [–differences[=cumulative]] [–help] [–interval=<n>] [–no-title] [–version] <… 阅读更多 »Linux watch命令详解(转载)