您的位置:首页 > 开源项目 > 缓存系统开源项目 > 第1页
  • Java的memcached客户端 XMemcached

    Xmemcached是基于java nio实现的高性能可扩展的memcached客户端。 实际上是基于我实现的一个nio框架Yan4j的基础上实现的(目前是基于yanf4j 0.61-snapshot),序列化机制使用spymemcached的Transcoder并做了部分改造。
    编程语言:java 
  • XCache

    XCache 是一个开源的 opcode 缓存器/优化器, 这意味着他能够提高您服务器上的 PHP 性能. 他通过把编译 PHP 后的数据缓冲到共享内存从而避免重复的编译过程, 能够直接使用缓冲区已编译的代码从而提高速度. 通常能够提高您的页面生成速率 2 到5 倍, 降低服务器负载. XCache 工程由 mOo 领队, 他也是 Lighttpd 的开发成员之一. Lighttpd 是最快的 Web 服务器应用程序之一, 并且超越 Apache 以及许多其他 Web 服务器. XCache 努力达到类似的效果.
    编程语言:php 
  • 分布式的Key-Value存储系统 Voldemort

    Voldemort 是一个采用 Java 语言开发的分布式的Key-Value存储系统。 主要特性:Data is automatically replicated over multiple servers. Data is automatically partitioned so each server contains only a subset of the total data Server failure is handled transparently Pluggable serialization is supported to allow rich keys and values including lists and tuples with named fields, as well as to integrate with common serialization frameworks like Protocol Buffers, Thrift, and Java Serialization Data items are versioned to maximize data integrity in failure scenarios without compromising availability of the system Each node is independent of other nodes with no central point of failure or coordination Good single node performance: you can expect 10-20k operations per second depending on the machines, the network, and the replication factor Support for pluggable data placement strategies to support things like distribution across data centers that are geographical far apart.
    编程语言:java 
  • TokyoTyrant的C#客户端 TokyoTyrantClient

    TokyoTyrantClient 是 Tokyo Tyrant 的 C# 客户端。 该客户端有如下特点:支持TcpClient连接池 支持UTF-8编码 支持初始化链接数,链接过期时间,最大空闲时间,最长工作时间等设置
    编程语言:csharp 
  • 分布式的Key-Value存储系统 ThruDB

    Thrudb是一套简单的服务建立在Apache的Thrift的框架,提供索引和文件存储服务的网站建设和推广。其目的是提供Web开发灵活,快速和易于使用的服务,可以加强或取代传统的数据存储和访问层。 主要特征:Client libraries for most languages Incremental backups and redo logging Multiple storage backends (BerkeleyDB, Disk, MySQL, S3 included) Memcache and Spread integration. Built for horizontal scalability Simple and powerful search service
    编程语言:c 
  • Tokyo Cabinet网络接口 Tokyo Tyrant

    Tokyo Tyrant 是 Tokyo Cabinet 数据库网络接口。它拥有Memcached兼容协议,也可以通过HTTP协议进行数据交换。 Tokyo Tyrant 加上 Tokyo Cabinet,构成了一款支持高并发的分布式持久存储系统,对任何原有Memcached客户端来讲,可以将Tokyo Tyrant看成是一个Memcached,但是,它的数据是可以持久存储的。这一点,跟新浪的Memcachedb性质一样。 相比Memcachedb而言,Tokyo Tyrant具有以下优势: 1、故障转移:Tokyo Tyrant支持双机互为主辅模式,主辅库均可读写,而Memcachedb目前支持类似MySQL主辅库同步的方式实现读写分离,支持“主服务器可读写、辅助服务器只读”模式。这里使用 $memcache->addServer 而不是 $memcache->connect 去连接 Tokyo Tyrant 服务器,是因为当 Memcache 客户端使用 addServer 服务器池时,是根据“crc32(key) % current_server_num”哈希算法将 key 哈希到不同的服务器的,PHP、C 和 python 的客户端都是如此的算法。Memcache 客户端的 addserver 具有故障转移机制,当 addserver 了2台 Memcached 服务器,而其中1台宕机了,那么 current_server_num 会由原先的2变成1。 2、日志文件体积小:Tokyo Tyrant用于主辅同步的日志文件比较小,大约是数据库文件的1.3倍,而Memcachedb的同步日志文件非常大,如果不定期清理,很容易将磁盘写满。 3、超大数据量下表现出色 但是,Tokyo Tyrant 也有缺点:在32位操作系统下,作为 Tokyo Tyrant 后端存储的 Tokyo Cabinet 数据库单个文件不能超过2G,而64位操作系统则不受这一限制。所以,如果使用 Tokyo Tyrant,推荐在64位CPU、操作系统上安装运行。 介绍内容来自张宴博客: http://blog.s135.com/post/362/
    编程语言:c 
  • 哈希表数据库 Tokyo Cabinet

    Tokyo Cabinet 是一个DBM的实现。这里的数据库由一系列key-value对的记录构成。key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符串。这里没有数据类型和数据表的概念。 当 做为Hash表数据库使用时,每个key必须是不同的,因此无法存储两个key相同的值。提供了以下访问方法:提供key,value参数来存储,按 key删除记录,按key来读取记录,另外,遍历key也被支持,虽然顺序是任意的不能被保证。这些方法跟Unix标准的DBM,例如GDBM,NDBM 等等是相同的,但是比它们的性能要好得多(因此可以替代它们) 当按B+树来存储时,拥用相同key的记录也能被存储。像hash表一 样的读取,存储,删除函数也都有提供。记录按照用户提供的比较函数来存储。可以采用顺序或倒序的游标来读取每一条记录。依照这个原理,向前的字符串匹配搜 索和整数区间搜索也实现了。另外,B+树的事务也是可用的。 As for database of fixed-length array, records are stored with unique natural numbers. It is impossible to store two or more records with a key overlaps. Moreover, the length of each record is limited by the specified length. Provided operations are the same as ones of hash database. 对于定长的数组,记录按自然数来标记存储。不能存储key相同的两条或更多记录。另外,每条记录的长度受到限 制。读取方法和hash表的一样。 Tokyo Cabinet是用C写的,同时提供c,perl,ruby,java的API。Tokyo Cabinet在提供了POSIX和C99的平台上都可用,它以GNU Lesser Public License协议发布。
    编程语言:c 
  • SHOP.COM Cache System

    这是SHOP.COM 网站所使用的对象缓存系统,主要特性包括如下几个方面: * 支持进程内和CS 模式的缓存结构 * 可以进行水平扩展 * 缓存对象可被存到磁盘中 * 支持关联主键 * 非事务 * 支持任意长度的主键和键值 * 根据 TTL 进行自动垃圾回收 * 可以运行于容器中或者是独立平台运行 示例代码: List<SCClientManager> clientSet = new ArrayList<SCClientManager>();SCClientFactory clientFactory = ShopComCacheFactory.getClientFactory();SCClientContext context = clientFactory.newContext();context.address(new InetSocketAddress(/*address 1*/, /*port number 1*/));SCClientManager manager = clientFactory.newClientManager(context);clientSet.add(manager);// add additional managers for each cache servermyCache = new SCCache(new SCMultiManager(clientSet));// see if your object is in the cacheMyObject obj = (MyObject)myCache.get(new SCDataBlock(myKey));// if it's not, allocate it and add it to the cacheif ( obj == null ){ obj = new MyObject(); myCache.put(new SCDataBlock(myKey, obj));}
    编程语言:java 
  • ShiftOne

    ShiftOne Object Cache这个Java库提供了基本的对象缓存能力。实现的策略有先进先出(FIFO),最近使用(LRU),最不常使用(LFU)。所有的策略可以最大化元素的大小,最大化其生存时间。
    编程语言:java 
  • Simple-Spring-Memcached

    Simple-Spring-Memcached (SSM) 提供一个简单的方法为 Spring 的 Bean 启用 memcached 缓存支持,使用时只需要在 Bean 中通过 @Annotation 注释进行声明即可。 示例代码: @ReadThroughSingleCache(namespace = "ComplexObject", keyIndex = 1, expiration = 300)public ComplexObject getObjectByPrimaryKey(Long primaryKey) {...} 示例配置: <bean id="memcachedConnectionBean" class="net.nelz.simplesm.config.MemcachedConnectionBean"><property name="consistentHashing" value="true" /><property name="nodeList" value="127.0.0.1:11211 127.0.0.1:11311" /></bean>
    编程语言:java 
1 2 3 4 5

常用API文档

Objective-cHtml5Zend FrameworkSmartyMySQLPythonPostgresqlApache2Red Hat Linux 9 Debian Python EN