`
yeaya
  • 浏览: 4192 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

比Memcached快10倍甚至100倍的Xixibase

阅读更多
Xixibase是一个高性能,跨平台的分布式缓存系统。Xixibase server 采用 C++ 实现,底层网络库采用的是Boost Asio。Client现在有Java 版本的client。

Xixibase 主要特点:1. 实现'Local Cache'功能, 当客户端打开'Local Cache'选项, 客户端可以将数据同时存储在Server 端和本地,并且保证本地数据和Server 端的数据的一致性。当Server 端的数据被更新、删除或者过期,本地的数据会立即被删除,下次再对该数据的访问,请求会直接到达Server 。
'Local Cache'的优点:
    a. 极大地提高了性能:特别是对那些读操作远远大于写操作的数据,可以提供1000万以上的TPS.参考:http://xixibase.googlecode.com/svn/tags/xixibase-0.2/benchmark/java/benchmark2.html
    b. 提高了应用的服务质量和用户体验:在'Local Cache'命中的情况下,请求不需要通过网络到远程Cache Server上查询,减少了总体的处理的时间,提高用户体验。
    c. 降低了Cache Server 的压力,原先需要10台Cache Server ,现在可能只要5台就够了。可降低成本,保护环境。
    d. 降低网络流量,减少网络设备的成本。
    e. 提高整个Cache 系统的总体吞吐量。综合a, c, d三点,系统的总体吞吐量会得到极大的提升。

2. 支持虚拟化, 采用分Group的方法,不同的应用可以使用不同的GroupID,这样当不同的应用在访问同一个Cache Server时,不会相互干扰。
    a. GroupID类似与命名空间,每个应用不需要考虑:某个Key 是否会和其它应用的Key 冲突。
    b. 当某个应用要清空自己相关的Cache,不需要一个Key 一个Key 的去Delete ,可以直接调用Flush ,不用担心Flush 会影响其它应用的数据。
    c. 可以对每个Group 单独统计读写、存储的信息。

3. 支持'MultiAPI', 如multiGet, multeUpdate, multiDelete。测试表明'MultiAPI'在提升性能方面,非常明显。参考:http://xixibase.googlecode.com/svn/tags/xixibase-0.2/benchmark/java/benchmark.html

4. 超高性能. 无论'Local Cache'还是'MultiAPI'都在不同方面,极大地提升了性能。

5. 跨平台, Xixibase server由C++实现,底层网络库采用的是Boost Asio。理论上,只要Boost Asio支持的平台,Xixibase server都可以支持。目前,已经测试了Linux, Windows, Mac。

6. 部分地支持HTTP协议,可以直接在浏览器上访问Xixibase Server。我们可以使用JavaScript 非常方便地访问Xixibase Server。再加上Xixibase 的Local Cache 功能,将极大地减少Server 的压力,提升用户的体验。

性能:
读写TPS :150,000以上

启动Local Cache高命中情况下,读TPS:10,000,000以上。

MultiAPI, TPS: 不同条件下,差异较大,详情参考一下链接:

Performance Benchmark:
http://xixibase.googlecode.com/svn/tags/xixibase-0.2/benchmark/java/benchmark2.html

和Memcached的几个Client 比较:
http://xixibase.googlecode.com/svn/tags/xixibase-0.2/benchmark/java/benchmark.html


项目:

http://code.google.com/p/xixibase/
包含:Xixibase Server 和Xixibase Java Client
分享到:
评论

相关推荐

    memcached 64位 window

    Memcached是一种分布式内存对象缓存系统,广泛用于减轻数据库负载,提高Web应用的性能。由于是64位版本,这意味着它可以利用64位系统的内存优势,处理更大的数据量。 **Memcached简介** Memcached是一款高性能、轻...

    Memcached快速入门资料

    - **内存存储**:Memcached的所有数据都存储在内存中,这使得读取速度快,但同时也限制了其存储容量,因为内存资源有限。 - **键值对存储**:Memcached使用键值对(key-value)结构存储数据,键是唯一的标识符,值...

    memcached安装软件 libevent magent memcached

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

    memcached windows稳定版

    NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。 4.下载php_memcache.dll,请自己查找对应的php版本的文件 5. 在C:\winnt\php.ini 加入一行 ‘extension=...

    memcached安装包以及MemCachedClient

    Memcached 是一款高性能的分布式内存缓存系统,用于在Web应用中减轻数据库负载。它将数据存储在内存中,以键值对的形式提供快速访问,尤其适用于高并发场景。Memcached 使用简单,可移植性强,广泛应用于多种编程...

    memcached服务器端memcached.exe 下载

    Memcached是一款高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提高Web应用的性能。它通过在内存中存储数据来快速访问,避免了反复读取硬盘上的数据,从而提高了应用程序的响应速度。 标题“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.exe及memcached.dll

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

    Memcached 原理和使用详解

    Memcached是一款高效、轻量级的分布式内存缓存系统,由Danga Interactive公司的开发团队为LiveJournal设计并实现。它的主要目标是减轻数据库的负载,通过缓存数据和对象来提高动态Web应用的性能。Memcached的工作...

    python-memcached python-memcached

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

    安装Memcached及Memcached配置

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

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

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

    memcached-1.5.4

    `memcached`是一款高性能、分布式的内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载,提高数据访问速度。它通过将数据存储在内存中,实现快速读取,避免了频繁的磁盘I/O操作。本文将详细介绍`memcached-...

    memcached工具类源码

    Memcached是一种高性能、分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提高网站性能。它通过将数据和对象存储在服务器的内存中,而不是每次请求时都查询数据库,从而显著提高了读取速度。这里我们将...

    php7 的memcached扩展php_memcached.dll扩展

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

    memcached for win32

    MemCached For Win32 服务器 -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务 -...

    memcached整合hibernate资源合集

    Memcached是一种高性能的分布式内存对象缓存系统,用于减轻数据库负载,提高应用程序的响应速度。而Hibernate则是一个Java持久化框架,它简化了数据库与Java对象之间的交互,使得开发人员能够更专注于业务逻辑而不是...

    memcached命令

    #### 一、Memcached简介 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少从复杂数据库中检索数据所需的次数,从而提高动态Web应用的速度。 ...

Global site tag (gtag.js) - Google Analytics