Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wushizhenking
CS-Notes
提交
4e2dd416
C
CS-Notes
项目概览
wushizhenking
/
CS-Notes
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
CS-Notes
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
4e2dd416
编写于
5月 20, 2019
作者:
C
CyC2018
提交者:
GitHub
5月 20, 2019
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #709 from imhuster/master
增加了缓存位置及缓存问题相关示例
上级
c7692cdd
c5794c99
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
24 addition
and
0 deletion
+24
-0
docs/notes/缓存.md
docs/notes/缓存.md
+24
-0
未找到文件。
docs/notes/缓存.md
浏览文件 @
4e2dd416
...
...
@@ -193,6 +193,15 @@ public class LRU<K, V> implements Iterable<K> {
MySQL 等数据库管理系统具有自己的查询缓存机制来提高查询效率。
## Java 内部的缓存
Java 为了优化空间,提高字符串、基本数据类型包装类的创建效率,设计了字符串常量池及 Byte、Short、Character、Integer、Long、Boolean 这六种包装类缓冲池。
## CPU 多级缓存
CPU 为了解决运算速度与主存 IO 速度不匹配的问题,引入了多级缓存结构,同时使用 MESI 等缓存一致性协议来解决多核 CPU 缓存数据一致性的问题。
# 四、CDN
内容分发网络(Content distribution network,CDN)是一种互连的网络系统,它利用更靠近用户的服务器从而更快更可靠地将 HTML、CSS、JavaScript、音乐、图片、视频等静态资源分发给用户。
...
...
@@ -239,6 +248,21 @@ CDN 主要有以下优点:
要保证缓存一致性需要付出很大的代价,缓存数据最好是那些对一致性要求不高的数据,允许缓存数据存在一些脏数据。
## 缓存“无底洞”现象
指的是为了满足业务要求添加了大量缓存节点, 但是性能不但没有好转反而下降了的现象。
产生原因:缓存系统通常采用 hash 函数将 key 映射到对应的缓存节点,随着缓存节点数目的增加,键值分布到更多的节点上,导致客户端一次批量操作会涉及多次网络操作,这意味着批量操作的耗时会随
着节点数目的增加而不断增大。此外,网络连接数变多,对节点的性能也有一定影响。
解决方案:
-
优化批量数据操作命令;
-
减少网络通信次数;
-
降低接入成本,使用长连/连接池,NIO 等。
# 六、数据分布
## 哈希分布
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录