WEB开发网
开发学院软件开发Java 跨多种环境部署 Gearman 阅读

跨多种环境部署 Gearman

 2010-10-09 08:13:21 来源:WEB开发网   
核心提示: 有助于这些情况的一个要素是,与 memcached 组合使用 Gearman 的处理,跨多种环境部署 Gearman(9),以允许您提交数据,解析和处理数据,然后将信息写回 memcached,本例中使用了一个硬编码的 ID,然后自动更新该信息的高速缓存版本,在博客或其他内容管理系统中

有助于这些情况的一个要素是,与 memcached 组合使用 Gearman 的处理,以允许您提交数据,解析和处理数据,然后自动更新该信息的高速缓存版本。

在博客或其他内容管理系统中,可以使用该方式来允许更新和信息的即时发布,方法是更新内容的 memcached 版本并在后台更新数据库,或者更新数据库并在写操作完成后马上更新 memcached 客户端版本以用于显示。通过减少同步写操作的次数,两种方案都有助于减少向数据库写入内容,同时提高前端应用程序的响应性。

在 清单 8 和 清单 9 中客户机和工人脚本的修改版本中,可以看到一个使用 memcached 的例子。客户机把要被计数的字符串写入 memcached,工人使用客户机提供的 ID 读取字符串,统计单词数量,然后将信息写回 memcached。本例中使用了一个硬编码的 ID,但是您也可以使用来自数据库的 ID 或 UUID。

清单 8. 基于 memcached 的客户机

use Gearman::Client; 
use Cache::Memcached; 
 
# Set up memcached 
 
my $cache = new Cache::Memcached { 
  'servers' => [ 
          '192.168.0.2:11211', 
          ], 
}; 
 
# Set up Gearman 
 
my $client = Gearman::Client->new; 
$client->job_servers('192.168.0.2:4730'); 
 
# 
# Obtain the information you want to process 
# and generate a unique key 
 
my $id = 9334; 
 
# Write some metadata 
 
$cache->set(sprintf('doc-%d-srctxt',$id), 
      'The quick brown fox jumps over the lazy dog'); 
 
my $result = $client->dispatch_background('wordcount',$id); 

上一页  4 5 6 7 8 9 10  下一页

Tags:多种 环境 部署

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接