`
mengxs
  • 浏览: 28822 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

memcached,oscache 浅析

阅读更多

现在开源缓存让人眼花撩乱,介绍一下两个比较典型的缓存

 

oscache

oscache支持内存缓存和硬盘缓存两种方式,且可以两种方式同时使用

使用方式:oscahce,oscache属于应用端缓存,即只能和应用服务在同一台机器上,或者说只能与运行的应用在同一个
             JVM中使用。

集群方式: oscache 依赖jgroups 的组播功能可以进行分布式集群,oscache可以参考我
             之前的一边文章:http://mengxs.iteye.com/admin/blogs/1023791  ,不过oscache在集群方面存在bug。
优点:

1.oscache提供了jsp标签库,在jsp页面可以很简单对数据进行缓存

2.支持cron表达式

3.配置简单,只要将配置文件稍作修改或不修改就可使用

4.oscache在读写操作时,并发对相同 key 进行写操作时它只写一次:多个线程T1,T2,T3并发去读取 key的缓存
 对象,T1读取数据时发现数据过期,这时T1会获取key的写锁,T2,T3读取数据时也发现数据过期,同时发现这
 个key的数据正在被其他线程进行写,这时T2,T3就处于等待状态,直到T1将新的数据写入缓存,T2、T3线
  程被唤醒,T2、T3醒来后发现缓存数据已经被更新,他们会重新在缓存中获取key的数据。

缺点:

1.集群本身存在bug http://mengxs.iteye.com/admin/blogs/1023791  

2.缓存只能与应用处于同一JVM种,不能够将oscache放在独立的缓存服务器上。不适合大规模集群

 

MEMCACHED

memcached是单独的缓存服务,独立于应用层,可以放在单独的机器上。将memcached安装完以后(具体安装看官方文档),如果要使用的话,需要下载memcached客户端,如:https://github.com/gwhalin/Memcached-Java-Client

 

优点:

1.memcached本身独立于应用层,可以放在单独的服务器上

2.多台memcached缓存服务器可以进行分布式,分布式是通过客户端来决定将key 的对象 缓存到指定的某台机器上,多台memcached之间是没有相互通信的,他们是单独互不影响。适合集群,不存在网络爆炸的危险

 

缺点:

客户端提供的缓存的同一key的读、写操作都是并发执行,这点感觉不如socache周到。

 

 总结 

 从可扩展行和稳定性来看,建议使用memcached 作为内存缓存

分享到:
评论

相关推荐

    memcached 64位 window

    标题"memcached 64位 window"指的是在Windows操作系统上运行的64位版本的Memcached缓存系统。Memcached是一种分布式内存对象缓存系统,广泛用于减轻数据库负载,提高Web应用的性能。由于是64位版本,这意味着它可以...

    oscache缓存技术入门实例

    osCache虽然功能强大,但在Java缓存领域,还有其他如EHCache、Memcached和Redis等解决方案。每种缓存都有其特点和适用场景,比如EHCache同样适用于本地缓存,而Memcached和Redis更适合分布式缓存环境。 总结,...

    memcached安装软件 libevent magent memcached

    Memcached是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载。它通过在内存中存储数据来提供快速的数据访问,从而提高应用的性能。本篇文章将详细讲解如何安装和配置memcached,...

    memcached windows稳定版

    在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装 3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动...

    memcached安装包以及MemCachedClient

    **Memcached 安装与使用详解** Memcached 是一款高性能的分布式内存缓存系统,用于在Web应用中减轻数据库负载。它将数据存储在内存中,以键值对的形式提供快速访问,尤其适用于高并发场景。Memcached 使用简单,可...

    memcached服务器端memcached.exe 下载

    标题“memcached服务器端memcached.exe 下载”指的是获取memcached服务端的可执行文件,`memcached.exe`是Windows环境下运行memcached服务的程序。这个绿色版的memcached意味着它无需安装,下载解压后即可直接运行,...

    windows下memcached+memcached.dll 5.3.8

    标题中的“Windows下memcached+memcached.dll 5.3.8”指的是在Windows操作系统上安装和使用Memcached服务的场景,其中`memcached.dll 5.3.8`是Memcached服务器的一个特定版本的动态链接库文件。Memcached是一款高...

    安装Memcached及Memcached配置

    Memcached 是一个高性能的分布式内存对象缓存系统,常用于减轻数据库负载,提高Web应用的响应速度。在本文中,我们将详细介绍如何安装和配置Memcached,以及如何查询其运行状态。 1. **安装Memcached** - 首先,你...

    基于OSCache的页面缓存(收藏)

    OSCache虽然不直接支持分布式缓存,但可以通过与其他分布式缓存服务(如Redis、Memcached)结合使用来实现。 总结起来,OSCache作为一款强大的缓存工具,为Java开发者提供了便捷的页面缓存功能。通过合理配置和编程...

    php7 的memcached扩展php_memcached.dll扩展

    Memcached是一种分布式内存对象缓存系统,广泛应用于Web应用程序,以提高数据读取速度,减轻数据库负载。在PHP环境中,使用Memcached扩展可以方便地存储和检索数据,尤其适用于处理高并发场景。 `...

    python-memcached python-memcached

    Python-memcached是Python语言的一个库,用于与Memcached缓存系统进行交互。Memcached是一种高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。Python-memcached库则...

    memcached.exe及memcached.dll

    **Memcached:高性能分布式内存缓存系统** Memcached是一款开源、高性能、分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升应用程序性能。它通过存储数据和对象到内存中,使得频繁访问的数据可以更快...

    memcached安装包以及java所需的memcached架包

    **memcached** 是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载,提高数据访问速度。它将数据存储在内存中,以键值对的形式提供快速的数据检索服务。memcached的设计目标是简洁和...

    memcached-1.5.4

    **memcached-1.5.4源码分析与编译指南** `memcached`是一款高性能、分布式的内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载,提高数据访问速度。它通过将数据存储在内存中,实现快速读取,避免了频繁...

    hibernate-memcached包

    **hibernate-memcached包** 是一个专为Hibernate框架设计的扩展,目的是将流行的分布式内存缓存系统Memcached整合到Hibernate中,作为其二级缓存解决方案。在大型分布式应用中,缓存技术是提高性能的关键,特别是...

    memcached-1.5.11.tar.gz

    《深入理解Memcached:基于1.5.11版本的剖析》 Memcached,一个高性能、分布式的内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。本文将深入探讨Memcached的1.5.11版本,解析其...

    php memcached安装文档以及Memcached扩展

    1. **下载Memcached**:首先,你需要从官方网站获取最新版的Memcached源码,或者在Windows环境下,可以直接下载编译好的`memcached.exe`。将`memcached.exe`放在一个方便的位置,例如`C:\Program Files`,并确保该...

    memadmin+php_memcached+memcached1.4.5

    标题中的"memadmin+php_memcached+memcached1.4.5"暗示了这是一个关于内存缓存管理系统、PHP扩展以及memcached服务器的组合。这里的关键技术包括`memadmin`(一个用于管理memcached的工具)、`php_memcached`(PHP...

    windows 上的安装Memcached及Memcached配置

    ### Memcached在Windows环境下的安装与配置详解 #### 一、Memcached的安装与基本配置 Memcached是一款高性能、分布式内存对象缓存系统,用于在动态应用中减少数据库负载,加速页面渲染,通过缓存数据库查询结果和...

Global site tag (gtag.js) - Google Analytics