缓存与分布式数据库技术解析
1. 缓存技术在网页中的应用
1.1 Cookie 缓存的简单实现与效果
Cookie 缓存的实现代码仅 32 行,但效果显著。在新页面中,用户首次访问网站或更改偏好时,由于缓存未命中,需要访问数据库。不过,新的缓存设计将缓存值存储在访客的机器上,实际上可永久保存,无需占用宝贵的服务器资源。除了初始缓存未命中的情况,缓存命中率接近 100%。
1.2 Cookie 缓存的安全与完整性处理
虽然作为缓存,对持久性的要求不高,但某些应用对数据的安全性和完整性有要求。当认证、授权和/或身份信息存储在 Cookie 中时,情况会有所不同。主要有两个需求:一是用户不能随意修改数据,二是用户不应能确定数据内容。这两个问题可通过加密技术解决,例如在 base64 编码前和 base64 解密后,使用对称加密算法(如 AES)和私钥对数据进行加密以确保隐私,再应用安全消息摘要(如 SHA - 1)确保完整性。
另外,还需考虑 Cookie 被盗用的问题。为防止 Cookie 被盗用,可在加密前添加时间戳。接收并验证 Cookie 时,更新时间戳并将更新后的 Cookie 推送给用户。没有在当前时间 X 范围内时间戳的 Cookie 将被视为无效,可能需要用户重新认证。
1.3 两级执行优化文章数据缓存
1.3.1 问题提出
使用 memcached 集群时,缓存数据分布在所有节点上。当请求进入并由 Web 服务器处理时,检查 memcached 缓存,大部分情况下(n 个节点中 n - 1 次)缓存元素不在本地机器上。随着节点数增加,本地机器没有缓存元素
超级会员免费看
订阅专栏 解锁全文
172万+

被折叠的 条评论
为什么被折叠?



