当前位置: 首页 > news >正文

网站建设淘宝模板企业展厅设计比较好的公司

网站建设淘宝模板,企业展厅设计比较好的公司,小企业做网站怎么做,中国互联网四大门户一、缓存的概念 在服务端编程当中#xff0c;缓存主要是指将数据库的数据加载到内存中#xff0c;之后对该数据的访问都在内存中完成#xff0c;从而减少了对数据库的访问#xff0c;解决了高并发场景中数据库容易成为性能瓶颈的问题#xff1b;以及基于内存的访问速度高…一、缓存的概念 在服务端编程当中缓存主要是指将数据库的数据加载到内存中之后对该数据的访问都在内存中完成从而减少了对数据库的访问解决了高并发场景中数据库容易成为性能瓶颈的问题以及基于内存的访问速度高于磁盘的访问速度的原理数据库读取数据一般需要从磁盘读取提高了数据的访问速度和程序性能。 根据缓存是否与应用进程属于同一进程可以将内存分为本地缓存和分布式缓存。本地缓存是在同一个进程内的内存空间中缓存数据数据读写都是在同一个进程内完成而分布式缓存是一个独立部署的进程并且一般都是与应用进程部署在不同的机器故需要通过网络来完成分布式缓存数据读写操作的数据传输。 二、本地缓存 本地缓存的优缺点 访问速度快但无法进行大数据存储 本地缓存相对于分布式缓存的好处是由于数据不需要跨网络传输故性能更好但是由于占用了应用进程的内存空间如 Java 进程的 JVM 内存空间故不能进行大数据量的数据存储。 集群的数据更新问题 与此同时本地缓存只支持被该应用进程访问一般无法被其他应用进程访问故在应用进程的集群部署当中如果对应的数据库数据存在数据更新则需要同步更新不同部署节点的本地缓存的数据来包保证数据一致性复杂度较高并且容易出错如基于 Redis 的发布订阅机制来同步更新各个部署节点。 数据随应用进程的重启而丢失 由于本地缓存的数据是存储在应用进程的内存空间的所以当应用进程重启时本地缓存的数据会丢失。所以对于需要持久化的数据需要注意及时保存否则可能会造成数据丢失。 适用场景 所以本地缓存一般适合于缓存只读数据如统计类数据。或者每个部署节点独立的数据如长连接服务中每个部署节点由于都是维护了不同的连接每个连接的数据都是独立的并且随着连接的断开而删除。如果数据在集群的不同部署节点需要共享和保持一致则需要使用分布式缓存来统一存储实现应用集群的所有应用进程都在该统一的分布式缓存中进行数据存取即可。 本地缓存的实现 缓存一般是一种key-value的键值对数据结构所以需要使用字典数据结构来实现在 Java 编程中常用的字典实现包括 HashMap 和 ConcurretHashMap。 与此同时本地缓存由于需要被不同的服务端线程并发读写故需要保证线程安全。由于 HashMap 不是线程安全的而 ConcurrentHashMap 是线程安全的故一般会使用 ConcurrentHashMap 来作为 Java 编程中的本地缓存实现。除此之外也有其他更加智能的本地缓存实现如可以定时失效访问重新加载等特性典型实现包括 Google 的 guava 工具包的 Cache 实现这些也是线程安全的。 三、分布式缓存 分布式缓存的优缺点 支持大数据量存储不受应用进程重启影响 分布式缓存由于是独立部署的进程拥有自身独立的内存空间不会受到应用进程重启的影响在应用进程重启时分布式缓存的数据依然存在。同时对于数据量而言由于不需要占用应用进程的内存空间并且一般支持以集群的方式拓展故可以进行大数据量的数据缓存。 数据集中存储保证数据一致性 当应用进程采用集群方式部署时集群的每个部署节点都通过一个统一的分布式缓存进行数据存取操作故不存在本地缓存中的数据更新问题保证了不同节点的应用进程的数据一致性问题。 数据读写分离高性能高可用 分布式缓存一般支持数据副本机制可以实现读写分离故可以解决高并发场景中的数据读写性能问题。并且由于在多个缓存节点冗余存储数据提高了缓存数据的可用性避免某个缓存节点宕机导致数据不可用问题。 数据跨网络传输性能低于本地缓存 由于分布式缓存是独立部署的进程并且一般都是与应用进程位于不同的机器故需要通过网络来进行数据传输这样相对于本地缓存的进程内部的数据读取操作性能会较低。 分布式缓存的实现 分布式缓存的典型实现包括 MemCached 和 Redis。 MemCached MemCached 相对于本地缓存的主要差别是以独立进程方式存在数据集中存储数据不随应用程序的重启而丢失。而 key-value 键值对的 value 也是一个简单的对象类型即 value 可以是任意格式的数据如简单的数字、字符串、对象等也可以是文件、图像、视频等复杂格式的数据但是不支持数据结构的特性。 所以 MemCached 进程相当于是在内存维护了一个非常大的哈希表来存储数据对应的数据操作复杂度都是 O(1)即常量级别这也是 MemCached 高性能的一个实现方式键值对存取速度都非常快。Redis Redis 是在此基础上更一步丰富了key-value 键值对的 value 的数据结构类型即可以在 Redis 中完成 value 的相关数据操作如 Set 集合去重、有序集合 ZSet 实现数据排序等这样就不需要在应用程序额外进行这些操作实现了开箱即用。并且 Redis 是单线程的不存在并发数据读写的线程安全问题以及更重要的是保证的数据读写操作的顺序性。 除此之外Redis 支持主从同步读写分离、集群分片拓展、数据持久化等特性这也是 MemCached 不支持的。所以在高并发场景并且数据能够容忍极端情况下的少量丢失或者说丢失后可以恢复如通过日志或者重新计算等 Redis 也可以作为数据库来使用提高高并发场景中的访问性能。
http://www.pierceye.com/news/233801/

相关文章:

  • 合肥网站seo技术软件开发工程师简历模板
  • org的域名网站在线取公司名字 免费
  • 网站开发有哪几个阶段百度网站官网怎么做
  • 微信网站名域名访问网站怎么下载
  • 网站源码怎么预览建站技巧
  • 织梦网站会员功能化妆品网站建设描述
  • 手机app软件定制马鞍山seo
  • 重庆网站建设 九度互联响应式网站开发工具
  • 句容市建设工程管理处网站wordpress联系表格
  • 电商网站建设流程新能源汽车价格一览表
  • 实验室网站建设的调查报告海报设计图片手绘图
  • 征求网站建设买正品东西哪个网最好
  • 网站建公司生存响应式网站特点
  • 关于公司建设网站的意义网站后台html页面
  • 麻花星空影视传媒制作公司网站朋友帮忙做网站 费用多少
  • 海口网站建设呢做健身推广网站
  • 哈尔滨网站搜索优化苏州网站建设主页
  • 35互联网站建设怎么样设计工作室宣传文案
  • php做的网站如何该样式云服务器产品介绍
  • 个人网站建设论文绪论上海it公司有哪些
  • 建设网站推广广告图郑州妇科医院哪家好些
  • 自己网站wordpress主题怎么wordpress 功能块
  • 网站制作咨询电话网站建设技术员分为前端 后端
  • 9元建站节建材 团购 网站怎么做
  • 河南城乡住房和建设厅网站公司微信网站建设方案模板下载
  • 西安制作公司网站的公司邯郸市三建建筑公司网址
  • 网站建设工作目标惠州网站网站建设
  • 就业创业网站建设微信app下载安装旧版本
  • 沧州网站备案年栾洪全单页做网站教程
  • 网站开发的疑虑做门窗投标网站