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

Memcached Beta 1.3.2 Released

阅读更多

 We've just released memcached beta 1.3.2.  It's available for
download immediately at the google code site:

 http://code.google.com/p/memcached/downloads

 There is one known bug (UDP support is somewhat lacking), but it was
recently discovered by client authors attempting to implement the
protocol, so I think we're good.

 We have quite a bit of confidence in this release as we've probably
spent more effort testing it than implementing new features, but I
wouldn't recommend you immediately switch all of your production sites
over.  I would, however, hope that you'd ignore my recommendations and
do it anyway (or at least, test it really, really hard).

 Release notes are below.  They're also in beta, so if something's
wrong (you're not credited properly, or an important new feature was
overlooked), be sure to let us know so we can get it right before the
next release.

                 Memcached 1.3 Beta 2 Release Notes
                 ==============================

====

Date: 2009-03-11 Wed


Table of Contents
=================
1 New Features
   1.1 Binary Protocol
       1.1.1 Client Availability
   1.2 Performance
   1.3 Stats
       1.3.1 New Stats
       1.3.2 More Granular Stats
       1.3.3 Removed stats
2 Bug Fixes
3 Development Info
4 Feedback
5 Contributors


1 New Features
~~~~~~~~~~~~~~~

1.1 Binary Protocol
====================

A new feature that brings new features.  We now have goodness like
CAS-everywhere (e.g. delete), silent, but verifiable mutation
commands, and many other wonders.

Note that the original protocol is *not* deprecated.  It will be
supported indefinitely, although some new features may only be
available in the binary protocol.

1.1.1 Client Availability
--------------------------

Many clients for the binary protocol are available.

* C

 libmemcached supports just about anything you can do with a
memcached
 protocol and is the foundation for many clients in many different
 languages (which you can find linked from the project page).

 Project page:  [http://tangent.org/552/libmemcached.html ]

* Java

 spymemcached has very good text and binary protocol support over
IPv4
 and IPv6 with a quite comprehensive test suite.

 Project page:  [http://code.google.com/p/spymemcached/ ]

* Protocol Spec

 NIH problem?  Go write your own client.  :)

 [http://cloud.github.com/downloads/dustin/memcached/protocol-
binary.txt
]


1.2 Performance
================

Lots of effort has gone into increasing performance.

Facebook-inspired contention reduction with per-thread stat collection
and the Facebook connection dispatch and thread starvation prevention
contributions helped our scalability.

Lock analysis also showed us that we had quite a bit of contention on
hash table expansion which has been moved into its own thread, greatly
improving the scalability on multicore hardware.

A variety of smaller things also shook out of performance testing and
analysis.

1.3 Stats
==========

There are several new stats and some new ways to look at older stats.

1.3.1 New Stats
----------------

* Delete

 The global stats now contain statistics on deletion.

 delete_hits refers to the number of times a deletion command was
 issued which resulted in a modification of the cache while
 delete_misses refers to the number of times a deletion command was
 issued which had no effect due to a key mismatch.

* Incr/Decr

 Incr and decr each have a pair of stats showing when a
 successful/unsuccessful incr occurred.  incr_hits, incr_misses,
 decr_hits, and decr_misses show where such mutations worked and
where
 they failed to find an existing object to mutate.

* CAS

 CAS stats are tracked in three different ways:

 + cas_hits

   Number of attempts to CAS in a new value that worked.

 + cas_misses

   Number of attempts to CAS in a value where the key was not found.

 + cas_badval

   Number of attempts to CAS in a value where the CAS failed due to
the
   object changing between the gets and the update.

* slab class evicted time

 Per slab class, you can now see how recently accessed the most
recent
 evicted data was.  This is a useful gauge to determine eviction
 velocity on a slab so you can know whether evictions are healthy or
if
 you've got a problem.


1.3.2 More Granular Stats
--------------------------

Where possible, stats are now tracked individually by slab class.  The
following stats are available on a per-slab-class basis (via "stats
slabs"):

 * get_hits
 * cmd_set
 * delete_hits
 * incr_hits
 * decr_hits
 * cas_hits
 * cas_badval

(misses are obviously not available as they refer to a non-existent
item)

1.3.3 Removed stats
--------------------

"stats malloc" and "stats maps" have been removed.

If you depended on these commands for anything, please let us know so
we can bring them back in a more maintainable way.

2 Bug Fixes
~~~~~~~~~~~~

 * Build fixes on ubuntu (gcc and icc) and FreeBSD
 * bad interaction with cas + incr (bug 15)
 * setuid failures are reported properly at daemonization time
 * decr overflow causing unnecessary truncation to 0 (bug 21)
 * failure to bind on Linux with no network (i.e. laptop dev)
 * some memcached-tool cleanup

3 Development Info
~~~~~~~~~~~~~~~~~~~

We've added a bunch of tests and new code coverage reports.

All included code in this release has been tested against the
following platforms (using the in-tree test suite):

 * ubuntu 8.10 (64-bit, both gcc and icc)
 * ubuntu 8.04 (32-bit)
 * OS X 10.5 (ppc and intel)
 * OpenSolaris 5.11 x86 (with and without dtrace)
 * FreeBSD 7 x86

4 Feedback
~~~~~~~~~~~

Please try this version.  Make it suffer.  Report feedback to the list
or file bugs as you find them.

 * Mailing List:  [http://groups.google.com/group/memcached ]
 * Issue Tracker:  [http://code.google.com/p/memcached/issues/list ]
 * IRC:  #memcached on freenode

5 Contributors
~~~~~~~~~~~~~~~

The following people contributed to this release since 1.2.6.

Note that this is based on who contributed changes, not how they were
done.  In many cases, a code snippet on the mailing list or a bug
report ended up as a commit with your name on it.

Note that this is just a summary of how many changes each person made
which doesn't necessarily reflect how significant each change was.
For details on what led up into a branch, either grab the git repo and
look at the output of `git log 1.2.6..1.3.2` or use a web view.

 * Repo list:  [http://code.google.com/p/memcached/wiki/
DevelopmentRepos]
 * Web View: [http://github.com/dustin/memcached/commits/1.3.2 ]

 104  Dustin Sallings
  49  Trond Norbye
  32  Toru Maesaka
  31  dormando
   8  Steve Yen
   7  hachi
   6  Aaron Stone
   6  Brian Aker
   4  Victor Kirkebo
   2  Ricky Zhou
   1  Jonathan Bastien-Filiatrault
   1  Evan Klitzke
   1  Eric Lambert
分享到:
评论

相关推荐

    java_memcached-release_1.3.2的演示工程(JDK1.4)

    在Java Memcached-release 1.3.2版本中,特别强调了对JDK 1.4的支持,这是由于一些老旧系统仍然依赖于这个较早的Java版本。 在Java Memcached 1.3.2的演示工程中,我们通常会看到以下关键知识点: 1. **Java与...

    memcached-1.6.0_beta1.tar.gz

    memcached-1.6.0_beta1 是 memcached 的一个预发布版本,通常用于测试新功能和改进,为正式版提供反馈。 **一、memcached的基本原理** Memcached基于键值对存储数据,它将数据存储在内存中,通过网络进行通信。当...

    memcached 64位 window

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

    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** - 首先,你...

    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中,作为其二级缓存解决方案。在大型分布式应用中,缓存技术是提高性能的关键,特别是...

    php memcached安装文档以及Memcached扩展

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

    memcached-1.5.11.tar.gz

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

    memadmin+php_memcached+memcached1.4.5

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

Global site tag (gtag.js) - Google Analytics