如何最佳地使用memcached?(1)(4)
四、何时使用memcached?
在使用 memcached 改进应用程序性能时,可以对一些关键的过程和步骤进行修改。
在加载信息时,典型的场景如图 2 所示。
图2.加载要显示的信息的典型顺序
一般而言,这些步骤是:
在使用 memcached 时,为配合这个缓存,可对应用程序的逻辑进行稍许修改:
- 尽量从缓存加载信息
- 如果存在,使用信息的被缓存版本
- 如果它不存在:
图 3 是对这些步骤的总结。
图3.在使用memcached时加载适合于显示的信息
数据加载成为了至多三个步骤的一个过程,从缓存加载数据或从数据库视情况而定)加载数据并存储在缓存内。
当这个过程首次发生时,数据将正常地从数据库或其他数据源加载,然后再存储到 memcached 内。当下一次访问此信息时,它就会从 memcached 拉出,而不是从数据库加载,节省了时间和 CPU 循环。
问题的另一个方面是要确保如果更改了要存储在 memcached 内的信息,在更新后端信息的同时还要更新 memcached 的版本。这会让图 4 内所示的这个典型顺序发生稍许变化,如 图 5 所示。
图4.在一个典型的应用程序内更新或存储数据
图 5 显示了使用 memcached 后发生了变化的流程。
图5.在使用memcached时更新或存储数据
比如,仍以博客站点为例,在博客系统更新数据库内的类别列表时,更新应该遵循如下顺序:
memcached 内的存储操作是原子的,所以信息的更新不会让客户机只获得部分数据;它们获得的或者是老版本,或者是新版本。
对于大多数应用程序,这两个操作是您惟一需要注意的。在访问他人使用的数据时,它会自动被添加到这个缓存内,而且如果对该数据进行了更改,此缓存内也会自动进行更新。
评论暂时关闭