E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
GeeCache
Go语言实现分布式缓存(一) ——lru淘汰策略和超时过期
详细实现教程:7天用Go从零实现分布式缓存
GeeCache
文章目录lru淘汰策略超时淘汰代码实现实例化缓存添加数据删除缓存获取缓存定期删除测试lru淘汰策略缓存的大小是有限的,当添加数据发现剩余缓存不够时
洛语言
·
2024-02-10 06:48
分布式缓存的实现
golang
分布式
缓存
Go Test
http://c.biancheng.net/view/124.htmlhttps://geektutu.com/post/
geecache
-day2.htmlGolang拥有一套单元测试和性能测试系统
JunChow520
·
2024-01-12 18:46
Go Test
http://c.biancheng.net/view/124.htmlhttps://geektutu.com/post/
geecache
-day2.htmlGolang拥有一套单元测试和性能测试系统
JunChow520
·
2023-11-17 15:28
单元测试
java
linux
python
go
《极客兔兔
GeeCache
第二天 单机并发缓存》中缓存的实现
总的来说分为三个层级:外部如何访问、如何加锁、如何实现LRU首先定义一个数据结构叫Group,这个Group的作用是定义一些接口让外部请求可以查询或者修改缓存Group中有个属性叫mainCache,类型为cache,这个cache就是我定义的缓存,它的定义如下:mu是读写锁,lru是实现了LRU缓存淘汰策略的缓存数据结构,它的定义如下:它主要是由一个哈希表、一个双向链表组成的。哈希表每一个键值对
阿袁的小园子
·
2023-11-03 14:20
缓存
java
链表
Go语言实现分布式缓存(二) —— 单机并发缓存
详细实现教程:7天用Go从零实现分布式缓存
GeeCache
这篇文章会使用互斥锁:Mutex来保证缓存并发读写时的安全性,然后在此基础上实现单机的缓存。
洛语言
·
2023-08-02 09:21
分布式缓存的实现
缓存
golang
分布式
【go项目-
geecache
】动手写分布式缓存 - day6 - 防止缓存击穿
索引【go项目-
geecache
】动手写分布式缓存-day1-实现LRU算法【go项目-
geecache
】动手写分布式缓存-day2-单机并发缓存【go项目-
geecache
】动手写分布式缓存-day3
CCSU__LRF
·
2023-04-20 17:07
golang项目
-
geecache
缓存
golang
分布式
【go项目-
geecache
】动手写分布式缓存 - day7 - 使用 Protobuf 通信
索引【go项目-
geecache
】动手写分布式缓存-day1-实现LRU算法【go项目-
geecache
】动手写分布式缓存-day2-单机并发缓存【go项目-
geecache
】动手写分布式缓存-day3
CCSU__LRF
·
2023-04-20 17:02
golang项目
-
geecache
golang
分布式
缓存
【go项目-
geecache
】动手写分布式缓存 - day4 - 一致性哈希(hash)
收获学会了什么是一致性哈希学会如何实现一致性哈希分布式哈希是什么?一致性哈希(ConsistentHashing)是一种常用的哈希算法,主要用于解决分布式系统中的负载均衡问题。它的主要思想是将数据和节点映射到一个虚拟环形空间中,通过一致的哈希函数将数据均匀地分布在环上,然后根据节点在环上的位置将数据映射到相应的节点上,从而实现负载均衡。最终达到的效果就是每个请求都会落在同一个节点上,提高了缓存效率
CCSU__LRF
·
2023-04-19 03:32
哈希算法
缓存
golang
分布式
【go项目-
geecache
】动手写分布式缓存 - day3 - HTTP 服务端
收获总结:了解go函数的可变参数的使用,还有切片展开的方式即…了解了HTTP通信方式,hinder的使用了解了go.mod,import和modoule的使用分布式缓存需要实现点对点的通信,我们可以使用HTTP来实现节点之间的通信,如果说某个节点开始了HTTP服务,那么其他节点就可以进行通信实现HTTP通信数据结构——HTTPPool实现HTTPPool结构体packagegeecacheimpo
CCSU__LRF
·
2023-04-19 03:31
http
golang
分布式
【go项目-
geecache
】动手写分布式缓存 - day5 - 分布式节点
检查是否被缓存----->返回缓存值⑴|否是|----->是否应当从远程节点获取----->与远程节点交互-->返回缓存值⑵|否|----->调用回调函数,获取值并添加到缓存-->返回缓存值⑶我们在[
GeeCache
CCSU__LRF
·
2023-04-19 03:31
golang
分布式
缓存
【go项目-
geecache
】动手写分布式缓存 day2 - 单机并发缓存
sync.Mutex互斥锁如果我们要是实现并发缓存,那么我们要引入sync.Mutex互斥锁来保证多个协程不冲突,确保同一时间只有一个协程运行,我们在使用的时候使用Lock()和unLock()来实现阻塞实现并发读写实现ByteView表示缓存值1.gopackagegeecachetypeByteViewstruct{b[]byte//缓存值,byte是为了通用性}func(vByteView)
CCSU__LRF
·
2023-04-18 01:38
缓存
golang
分布式
【golang项目-
GeeCache
】动手写分布式缓存 day1 - 实现LRU算法
介绍LRU内存淘汰算法LRU(LeastRecentlyUsed)最近最少使用算法,系统认为如果这个数据最近使用过那么它被再次使用的概率会高,所以系统会先淘汰最久没被使用的数据基本逻辑-----------------------------------------------------------------------出自极客兔兔k(绿色)为map,即实际中的缓存,当我们读取数据时就是先从这
CCSU__LRF
·
2023-04-17 13:47
golang
分布式
缓存
[go 语言学习笔记] 7天用Go从零实现分布式缓存
GeeCache
「已完结」
语言过程中的笔记,文中的代码都是在文本中敲出来的伪代码,并不能直接运行,如有需要可以参考原教程.本文的整体思路是对原系列教程阅读后的自我思考.关于本文参考的学习教程可以访问原教程链接:7天用Go从零实现分布式缓存
GeeCache
nimo10050
·
2022-12-19 20:17
GO语言
go
分布式缓存
GeeCache
笔记
GroupCache
7天用Go动手写/从零实现分布式缓存
GeeCache
目录第一天:LRU缓存淘汰策略|Code-Github第二天:单机并发缓存|Code-Github第三天:HTTP服务端|Code-Github第四天:一致性哈希(Hash)|Code-Github第五天:分布式节点|Code-Github第六天:防止缓存击穿|Code-Github第七天:使用Protobuf通信|Code-Github谈谈分布式缓存第一次请求时将一些耗时操作的结果暂存,以后遇到
极客兔兔
·
2020-08-25 16:21
golang
缓存
缓存设计
分布式
7天用Go动手写/从零实现分布式缓存
GeeCache
目录第一天:LRU缓存淘汰策略|Code-Github第二天:单机并发缓存|Code-Github第三天:HTTP服务端|Code-Github第四天:一致性哈希(Hash)|Code-Github第五天:分布式节点|Code-Github第六天:防止缓存击穿|Code-Github第七天:使用Protobuf通信|Code-Github谈谈分布式缓存第一次请求时将一些耗时操作的结果暂存,以后遇到
极客兔兔
·
2020-02-18 06:25
golang
缓存
缓存设计
分布式
7天用Go动手写/从零实现分布式缓存
GeeCache
目录第一天:LRU缓存淘汰策略|Code-Github第二天:单机并发缓存|Code-Github第三天:HTTP服务端|Code-Github第四天:一致性哈希(Hash)|Code-Github第五天:分布式节点|Code-Github第六天:防止缓存击穿|Code-Github第七天:使用Protobuf通信|Code-Github谈谈分布式缓存第一次请求时将一些耗时操作的结果暂存,以后遇到
呆尐兔兔
·
2020-02-17 21:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他