7

我使用 capistrano 将我的应用程序部署到使用 memcache 的机器上。我希望 capistrano 在部署新版本的站点时清除内存缓存。

4

4 回答 4

4

类似的东西?

于 2009-03-13T16:31:33.653 回答
2

看看这个 GIST 解决了这个问题:https ://gist.github.com/matthuhiggins/668744

于 2010-02-26T01:29:13.437 回答
1

不知道 capistrano,但你不能直接杀死 memcached 进程并生成一个新进程吗?也可能更好地消除碎片。

于 2009-03-13T16:16:22.237 回答
0

Susan Potter 的这个看起来不错https://gist.github.com/rays/154570

# 2007 Copyright Susan Potter <me at susanpotter dot net>
# You can read her software development rants at: http://geek.susanpotter.net
# Released under CreativeCommons-attribution-noncommercial-sharealike license:
# http://creativecommons.org/licenses/by-nc-sa/1.0/
namespace :memcached do
  desc "Restart the Memcache daemon"
  task :restart, :roles => :app do
    deploy.memcached.stop
    deploy.memcached.start
  end

  desc "Start the Memcache daemon"
  task :start, :roles => :app do
    invoke_command "memcached -P #{current_path}/log/memcached.pid  -d", :via => run_method
  end

  desc "Stop the Memcache daemon"
  task :stop, :roles => :app do
    pid_file = "#{current_path}/log/memcached.pid"
    invoke_command("killall -9 memcached", :via => run_method) if File.exist?(pid_file)
  end
end
于 2013-06-06T20:56:22.597 回答