0. 分布式缓存

Kesa...小于 1 分钟golang

1. 分布式缓存

缓存的设计随处可见,例如:

  • 浏览器缓存,访问网页时会优先从缓存中读取
  • I/O 缓存,计算机写入数据到硬盘时,会先缓存到内存中然后一次写入
  • Redis 缓存,对即时性要求较高的某些数据会缓存在 Redis 集群之中
  • ...

1.1 键值对缓存

使用哈希表实现键值对缓存是最简单的实现方式,但是存在一些问题:

  1. 淘汰策略 当内存不够时,需要删除数据,需要一个淘汰策略来合理的删除一些数据
  2. 并发冲突 map不是并发安全的,需要额外的加锁
  3. 单机性能 单机性能是有瓶颈的,此时需要考虑分布式系统
  4. ...

2. 分布式缓存系统

geeCache 参照 groupcacheopen in new window实现一个简单的分布式缓存系统。

Reference

  1. https://geektutu.com/post/geecache.htmlopen in new window
上次编辑于:
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.2