240 发简信
IP属地:重庆
  • Golang sync库--Cond

    熟悉Go编程的朋友都不会对sync库感到陌生,这个语言内置库提供了很多常见的处理并发编程的工具,今天就从最为小众,使用最少的sync.Cond库...

  • Golang error浅析

    由于Golang的语言设计的原因,不管是不是愿意,每个golang开发者的几乎每一段代码都需要与error做缠斗。下面我就简单分析一下golan...

  • 关注服务质量--重试

    在当前主流的微服务架构体系中,由于存在大量的远程服务调用,会存在各种各样的稳定性问题,包括但不仅限于网络拥堵,服务宿主机系统抖动,服务配置下发导...

  • Golang逃逸分析浅谈

    众所周知,Golang是一门自带GC的编程语言。这意味着内存的分配和管理绝大多数情况下不需要开发者去过多干涉。 在编译程序优化理论中,逃逸分析是...

  • 从json.Marshal到nil Pointer

    原文链接:Dave Cheney的博文先从一段代码说起: 这是一段并不复杂的代码:尝试将一段文本反序列化到一个go 结构体,示例中给出四种定义,...

  • redis持久化--RDB与AOF

    RDB文件实际是由redis.c/rdbSave函数完成的。SAVE阻塞主进程完成文件生成,BGSAVE则是fork出子进程完成文件生成。他类似...

  • redis--数据库

    数据库对象定义如下: redisDb定义如下: 过期键删除 惰性删除redis过期键惰性删除策略定义在db.c/expireIfNeeded,所...

  • redis数据结构--对象

    redis使用对象系统来构建键值对数据库,这个对象系统包括:字符串对象,列表对象,哈希对象,集合对象和有序集合对象五种。 对象类型与编码 在re...

  • redis数据结构--压缩列表

    压缩列表是列表和哈希的底层实现之一。当列表中元素较少,且元素为小整数或短字符串的时候,redis使用压缩列表作为列表的底层实现。当哈希里包含少量...