memcached入门

Memcached 是一个高性能的,分布式的内存对象缓存系统,
目前全世界不少人使用这个缓存项目来构建自己大负载的网站,它可以应对任意多个连接,使用非阻塞的网络IO。
由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable
来分担数据库的压力,通过在内存里维护一个统一的巨大的hash表,
它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度
通用的性质,但打算在加快动态Web应用程序,减轻数据库负载使用。Memcached的的奇妙之处在于两阶段散列的方法。它的行为,
就好像是一个巨大的哈希表,查找key = value对。给它一个键,并设置或获取一些任意数据。做一个memcached的查询时,首先客户端哈希键对整个服务器列表。
一旦它选择了一个服务器,然后客户端发送的请求,服务器内部哈希键查找实际项目数据。巨系统打交道时,最大的好处,
是memcached的能力大规模向外扩展。由于客户端执行一个散列层,它变得完全微不足道的几十个节点添加到群集。有没有超载,或组播协议内爆的互连。

其实Memcached的是没有一个Java的产品,但它有一个Java客户端API。这意味着如果您想您的Java EE应用程序移植到使用memcached,
金额修改是不可避免的使用API​​ get和put /从缓存值。使用memcached是非常简单的,但仍然有一些事情你应该尽量避免与可扩展性和性能方面。

不要缓存比阅读更频繁更新的对象。memcached是用来减少数据库读取,而不是写。你有看到什么读/写每个对象的比例将。如果数的比例是高的,
然后缓存有很大的意义。
尽量避免在运行中的memcached节点的寻呼。交换可能是一个memcached的灾难。
尽量避免行基于缓存。相反,memcached的缓存复杂的对象将更有效率。
选择合适的散列算法。使用默认的算法,添加或删除服务器将你的所有缓存无效。哈希对由于服务器列表已经改变,
你的钥匙最可能会散列到不同的服务器。使用一致的散列算法(http://weblogs.java.net/blog/tomwhite/archive/2007/11/consistent_hash.html)
添加和删除服务器,将让您的缓存对象的最有效的。


什么样的数据适合放入memcached中?
变化频繁,具有不稳定性的数据,不需要实时入库, (比如用户在线
状态、在线人数..)
门户网站的新闻等,觉得页面静态化仍不能满足要求,可以放入
到memcache中.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值