LiZ'blog

不写笔记不读书.

使用 docker-compose 部署 golang 的 Athens 私有代理

部署 go 中的私有代理

go中私有代理搭建 前言 为什么选择 athens 使用 docker-compose 部署 配置私有仓库的认证信息 配置下载模式 部署 使用秘钥的方式认证私有仓库 1、配置秘钥 ...

go 中 go mod 如何使用

如何配置和使用 go mod

go module了解 前言 开启go mod 简单使用 1、初始化 2、依赖升级(降级) 3、更改使用的pkg 4、清除不需要的依赖包 GoProxy 拉取私有仓库 安...

如何使用 Redis 缓存

Redis 作为缓存,经常遇到的几种情况:缓存中的数据和数据库中的不一致;缓存雪崩;缓存击穿和缓存穿透

如何使用 Redis 缓存 前言 旁路缓存 只读缓存 读写缓存 设置多大的缓存合适 内存被写满了如何处理 缓存经常遇到的问题 1、缓存中的数据和数据库中的不一致 读写缓存 ...

go 中 select 源码阅读

go 中 select 中是如何监听多个 channel 的

深入了解下 go 中的 select 前言 1、栗子一 2、栗子二 3、栗子三 看下源码实现 1、不存在 case 2、select 中仅存在一个 case 3...

Redis 中的过期键如何删除

Redis 中的过期删除策略和内存淘汰机制

Redis 中 key 的过期删除策略 前言 Redis 中 key 的过期删除策略 1、定时删除 2、惰性删除 3、定期删除 Redis 中过期删除策略 从库是否会脏读主库创建的过期键 ...

Redis 中的 set 和 sorted set 如何使用,源码实现分析

Redis 中的 set 和 sorted set 如何使用,源码实现分析

set 和 sorted set 前言 set 常见命令 set 的使用场景 看下源码实现 insert dict ...

go 中 sync.Map 源码刨铣

go 中 sync.Map 使用,源码刨铣

sync.map 前言 深入了解下 查看下具体的实现 Load Store Delete LoadOrStore 总结 流程图片 参考 sync....

Redis 中实现消息队列的几种方法

Redis 中使用 list,Streams,pub/sub 几种方式实现消息队列

使用 Redis 实现消息队列 基于List的消息队列 分析下源码实现 基于 Streams 的消息队列 分析下源码实现 stream 的结构 streamC...

go 中 sort 包排序使用,源码刨铣

go 中的 sort 排序功能如何使用,排序功能如何实现的,源码阅读

sort 包源码解读 前言 如何使用 基本数据类型切片的排序 自定义 Less 排序比较器 自定义数据结构的排序 分析下源码 不稳定排序 稳定排序 ...

Redis 中 String 类型的内存开销比较大

Redis 中 String 类型内存开销比较大,来了解下那些地方比较浪费内存

使用 String 类型内存开销大 1、简单动态字符串 2、RedisObject 3、全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保存,在选型数据类型我们就需要知道 String 的内存开销是很大的 这里...