Go操作nutsdb

nutsdb简介 NutsDB是纯Go语言编写一个简单、高性能、内嵌型、持久化的key-value数据库。 NutsDB支持事务,从v0.2.0之后的版本开始支持ACID的特性,建议使用最新的release版本。v0.2.0之前的版本,保持高性能,没有作sync,但是具备高性能的写(本地测试,百万数据写...

体验golang1.18泛型

因为本机跑的是go1.17,想体验一下go1.18泛型。随决定采用docker方式 docker pull golang docker run -itd -p 8001:8001 -v /Users/cc/docker/golang1.18:/go --name golang-1.18 golang docker exec -it golang-1.18 /bin/sh go env -w GO111MODULE=on go env ...

Go语言之CGO

站在巨人的肩膀上写代码 c/c++作为老大哥,积累了很多优秀的库。Go语言提供了CGO工具支持C语言函数调用,同时也可以将Go语言导出C动态库给其他语言使用。 Go语言如何导出C语言动态库 CGO在使用C/C++资源的时候一般有三种形式:直接使用源码;链接静态库;链接动...

Go 实现分布式锁

1. 基于redis 的 setnx package main import ( "fmt" "sync" "time" "github.com/go-redis/redis" ) func incr() { client := redis.NewClient(&redis.Options{ Addr: "127.0....