240 发简信
IP属地:北京
  • 直接循环处理不好么?

    【Golang】去除slice中重复的元素,认识空struct

    golang标准库本身没有提供一个去除slice中重复元素的函数,需要自己去实现。今天读源码时发现了一个,算是比较优秀的技巧了,如果你有更好的办法,欢迎讨论!另外让我们看一下...

  • Redis原理及实践之PubSub

    PubSub 的生产者传递过来一个消息,Redis 会直接找到相应的消费者传递过去。如果一个消费者都没有,那么消息直接丢弃。如果开始有三个消费者,一个消费者突然挂掉了,生产者...

  • Redis原理及实践之Scan

    3. scan vs keys keys扫描key的复杂度为O(N),同样scan的复杂度也为O(n) scan提供limit参数,可以控制每次返回结果的最大条数 scan同...

  • Redis原理及实践之分布式限流

    1. 分布式限流 Redis + Lua : Redis进行每秒请求计数(Redis计数器功能),达到限流目的。其中,Redis key的设置精确到秒,并且需要对该key设置...

  • golang 相关技术整理

    1. 配置热加载问题 基本原理:设置定时器,定时检测文件的变化状态,reload配置文件内容。(读写分离双buffer,回调通知机制)相关wiki链接: https://ju...

  • bufio包介绍

    1. bufio.Reader 2. bufio.Writer 3. bufio.ReaderWriter 4. bufio.Scanner 本文摘自:https://www...

  • set命令

    set命令用来修改shell环境的运行参数,也就是可以定制环境,本文记录最常用的四个参数。另外执行set命令不加任何参数,将会显示所有的环境变量和shell函数。 1. se...

  • 可伸缩并发设计

    1. 超时和取消 两种方式: done channel context.Context 相关内容参考:https://www.kancloud.cn/mutouzhang/g...

  • go并发编程范式

    1. 访问范围约束 通过限制访问约束,减少不必要的同步带来的性能损耗。例如,集中控制channel的写入,对外提供channel的读取,这样本身便提供了对并发安全的支持。 2...

  • sync包介绍

    sync包使用官方文档:http://devdocs.io/go/sync/index#Map Go中sync包包含对低级别内存访问同步最有用的并发原语。 1. sync.C...

  • Redis面试相关

    1.Redis中的数据结构 答:字符串String、字典Hash、列表List、集合Set、有序集合SortedSet、HyperLogLog(基数统计)、Geo(地理位置)...

  • 120
    Advanced Go读书笔记

    一、 语言基础 main.main函数执行过程image.pngPS:在main.main函数执行之前所有代码都运行在同一个goroutine中即运行在程序的主系统线程中。 ...

  • 120
    go并发基础

    中文版Concurrency In Go读书笔记:https://www.kancloud.cn/mutouzhang/go/596804 1. sync.Cond + ti...