【发布时间】:2012-09-25 02:56:34
【问题描述】:
我正在开发一个以 gmails imap API 作为后端的网络邮件客户端。如果我想在收件箱中维护用户的电子邮件,我最好使用 memcache 之类的东西来存储从 API 调用收到的数据?还是将它放在数据库中以便以后调用更好?
【问题讨论】:
标签: database api caching gmail memcached
我正在开发一个以 gmails imap API 作为后端的网络邮件客户端。如果我想在收件箱中维护用户的电子邮件,我最好使用 memcache 之类的东西来存储从 API 调用收到的数据?还是将它放在数据库中以便以后调用更好?
【问题讨论】:
标签: database api caching gmail memcached
两者兼而有之。从 api 获取结果集时,将电子邮件存储在 db 中。也将它保存在内存缓存中。如果没有任何变化,则将其从缓存中拉出,寿命很短。如果缓存过时,则每隔一段时间从数据库刷新一次。检查api时,如果发现缓存版本有差异,则刷新它,将结果保存到db,然后将新数据添加到缓存中。
这应该会改善用户体验并减少 api 调用和数据库访问。
请记住:包括 db 在内的所有内容都只是另一个缓存层——具有不同的访问特性和性能权衡。
【讨论】: