高并发系统内的缓存设计理解

缓存设计必须基于具体业务场景来思考,例如根据业务系统的具体吞吐量、数据量来设计。本文脱离业务场景讨论缓存设计,仅作学习参考。 一、临时缓存最简单的缓存,直接给key设置一个很短的TTL,1分钟或者几分钟,过期直接查DB,不考虑缓存穿透问题。 适合单表数据量少,读取很多的数据。 二、长期缓存适合热点数据,给key设置一个较长的TTL。 数据更新时,通过异步的方式去写入缓存。 异步的方式很多

- 阅读全文 -

go1.22 版本关于loopvar改动的理解

先看一下官网的原话 https://golang.google.cn/blog/go1.22 :The long-standing “for” loop gotcha with accidental sharing of loop variables between iterations is now resolved.简单来说就是循环时候的变量不再共享一个地址,官网给的demo不好观察其中的状况

- 阅读全文 -

gorm使用sqlmock进行sqlite的数据库CRUD单元测试

完整Demo代码本文将会围绕该demo进行讲解:https://github.com/Lichmaker/gorm-sqlite-sqlmock-demomock的作用在单元测试中,我们不希望动到实际的资源,例如DB、第三方HTTP API等。当我们在单元测试时遇到数据库操作,则会用到mock分析所有sql语句, 如果没有执行到预设的语句则会返回错误mock出语句的结果来达到数据库模拟的效果moc

- 阅读全文 -

go-zero使用Gorm时日志追踪trace问题处理

go-zero中的自带model使用起来没有特别舒心(其实功能都满足,主要是不习惯)。Gorm大家都很熟悉,也都用习惯了,但是要把Gorm中的logger与go-zero中的logx串起来,还是需要花一点心思的。注入logger首先是要解决logger。 我这里参考的是Summer老师GormLogger ( https://github.com/summerblue/gohub/blob/G02

- 阅读全文 -

docker client 无法连接 docker daemon 问题处理记录

Ubuntu 系统,原本通过apt安装了docker-ce。 前两天想用一下desktop,又装了一个desktop。不知道是不是安装有问题,结果导致docker client连不上docker daemon了➜ ~ docker ps Cannot connect to the Docker daemon at unix:///home/wuguozhang/.docker/desktop/d

- 阅读全文 -

最新文章

最近回复

  • AmeliaPielp4542: "迷人的nymphomaniac寻求热气腾腾的放纵。"这里  -...
  • 海岸公路: 写得非常生动。继续保持 真情。
  • Josephadash: 素材精彩极了。万分感谢 感受。 文化旅遊 我很乐意阅读 旅游门户...
  • EmmaPielp9824:    "肉体的诱惑需要不可抗拒的激情。"这里  -- https...
  • Josephadash: 温暖的 旅游内容! 现在想出发。 自駕景點 我总是关注 旅游博客...
  • KodxCrypt0Num: <>#22312;我们的网站上,我们提供当代和最有才...
  • 英倫元素: 实用的 在线导览! 你们真棒!
  • Josephadash: 好久没见过, 这么高质量的内容。太棒了。 城鎮遠眺 我总是关注 ...
  • EmmaPielp729:  "迷人的诱惑渴望不可抗拒的激情。"这里 --  rb.gy/3...
  • SantoDaf: 問題:是否買讚粉絲用戶對 Facebook 平台上的討論和互動有...

分类

标签

归档

其它