oscache与memcache的比较

OSCache是进程级缓存,说白了就是利用JVM本身的内存来保存一些对象.

Memcache是利用别的机器的缓存,利用网络来沟通.

个人建议是看你的应用了.

OScache本身提供了广播和JMS等方式来进行缓存失效通知,这种方式的问题就是....

A和B两个Tomcat,A机里的一个KEY被更新了,通知了B,B把这个KEY失效了...结果就是B不能享用到A已经做过的事...还要再从数据库或者其他地方重新读取数据放到缓存.

如果这个操作很费资源那就不合算了.

Memcache可以避免这个问题,但同时也产生另外的问题.由于memcache是由网络来沟通的,所以存在着序例化和反序例化还有网络IO等操作的时间.所以读取单个KEY时会比从OScache里拿要慢一些.

时间: 2024-10-19 19:49:40

oscache与memcache的比较的相关文章

JavaWeb网站技术架构

JavaWeb网站技术架构总结 题记 工作也有几多年了,无论是身边遇到的还是耳间闻到的,多多少少也积攒了自己的一些经验和思考,当然,博主并没有太多接触高大上的分布式架构实践,相对比较零碎,随时补充(附带架构装逼词汇). 俗话说的好,冰冻三尺非一日之寒,滴水穿石非一日之功,罗马也不是一天就建成的,当然对于我们开发人员来说,一个好的架构也不是一蹴而就的. 初始搭建 开始的开始,就是各种框架一搭,然后扔到Tomcat容器中跑就是了,这时候我们的文件,数据库,应用都在一个服务器上. 服务分离 随着系统的

Redis 2.8 简介

1  Redis简介 1.1   Redis定义 Redis是一个开源的使用c语言编写的kv存储系统,nosql数据库.也称为:非关系型数据库 1)开源的 2)C语言编写 3)Kv存储系统 4)Nosql.非关系型数据库 Nosql(非关系型数据库)与mysql.orcale关系型数据库的区别 Nosql:存储方式(key/value) 关系型数据库:存储方式是(表结构提供主外键关联) 应用场景: 互联网.电商 常见的nosql: mongodb(文档型数据库)支持的数据类型:bson redi

JAVA架构师必备词汇和知识点

01 高可用 负载均衡(负载均衡算法) 反向代理 服务隔离 服务限流 服务降级(自动优雅降级) 失效转移 超时重试(代理超时.容器超时.前端超时.中间件超时.数据库超时.NoSql超时) 回滚机制(上线回滚.数据库版本回滚.事务回滚) 02 高并发 应用缓存 HTTP 缓存 多级缓存 分布式缓存 连接池 异步并发 03 分布式事务 二阶段提交(强一致) 三阶段提交(强一致) 消息中间件(最终一致性),推荐阿里的 RocketMQ. 04 队列 任务队列 消息队列 请求队列 05扩容 单体垂直扩容

各种面试题

说说你对缓存的理解? 1.使用缓存的目的: 提高应用程序的性能,减少到数据库的访问次数, 举个简单应用场景,比如微信群聊,当服务器收到一条消息的时候,需要把消息插入数据库. 最原始的做法,就是每当有一条聊天记录到达服务器的时候,就进行一次数据库的插入操作.如果不考虑服务器带宽,这种情况下数据库的每秒io次数约等于每秒聊天记录插入的次数. 换一种实现思路,用redis做缓存,消息到达服务器的时候,并不是立刻比如数据库,而是存在redis里.当redis聊天记录到达60条的时候,再执行1次数据库插入

各种面试题4

1.面向对象的特征有哪些方面? 封装:通常认为封装是把数据和操作数据的方法绑定起来,对数据的访问只能通过已定义的接口. 多态性:多态性是指允许不同子类型的对象对同一消息作出不同的响应.简单的说就是用同样的对象引用调用同样的方法但是做了不同的事情.多态性分为编译时的多态性和运行时的多态性.方法重载(overload)实现的是编译时的多态性(也称为前绑定),而方法重写(override)实现的是运行时的多态性(也称为后绑定). 2.访问修饰符public,private,protected,以及不写

基于php使用memcache存储session的详解(转)

web服务器的php session都给memcached ,这样你不管分发器把 ip连接分给哪个web服务器都不会有问题了,配置方法很简单,就在php的配置文件内增加一条语句就可以了,不过前提你需要装好memcache模块 1.设置session用memcache来存储方法I: 在 php.ini 中全局设置session.save_handler = memcachesession.save_path = "tcp://127.0.0.1:11211"方法II: 某个目录下的 .h

受教了,memcache比较全面点的介绍,受益匪浅,适用memcached的业务场景有哪些?memcached的cache机制是怎样的?在设计应用时,可以通过Memcached缓存那些内容?

基本问题 1.memcached的基本设置 1)启动Memcache的服务器端 # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid -d选项是启动一个守护进程, -m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB, -u是运行Memcache的用户,我这里是root, -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服

memcache的最佳实践方案

1.memcached的基本设置 1)启动Memcache的服务器端 # /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid -d选项是启动一个守护进程, -m是分配给Memcache使用的内存数量,单位是MB,我这里是10MB, -u是运行Memcache的用户,我这里是root, -l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP

EJB+memcache

首先我们通过下图 了解到memcache在系统中处于大概什么的位置 然后我们了解下Memcached简介1.1. 什么是Memcached  Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态.数据库驱动网站的速度. Memcached基于一个存储键/值对的HashMap,它并不提供冗余(复制其HashMap条目),当某个服务器停止运行或崩溃了,所有存放在服务器上的键/值对都将丢失.但目前