我有一个在heroku上运行的sinatra应用程序,它使用dalli来启用memcached支持。有时候,memcached服务器无法响应,我得到以下结果:
Dalli::RingError - No server available
处理这种情况的最佳方法是什么?
最佳答案
我选择通过显式忽略这个错误来处理这个问题,因为如果缓存组件关闭,我的应用程序功能就不会失败。你当然可以实现一个log语句或者任何你想要的东西,但是我选择什么都不做。
我创建了自己的缓存类,并使用它将我的域代码与dalli隔离开来。以下是相关部分:
def Cache.get(key)
Configuration.dalliClient.get(key)
rescue Dalli::RingError
nil
end