慎用memcache

来源:互联网 发布:易语言vip解析源码 编辑:程序博客网 时间:2024/05/16 15:07

  写这篇文章,纯粹是因为最近在一个项目中,过度的使用了memcache,使我对memcache有了一定的理解。

  也以此文提醒自己,今后慎用memcache。

  memcache是一个key-value类型的,高性能的内存对象缓存系统,最常用的两个函数是memcache::set(key, vlaue)和memcache::get(key)。在什么情况下使用memcache呢?以我现在的想法,除非你从数据库拿出的数据永远不会改变,否则别使用memcache。我在项目遇到的问题,就是把很多的数据都存在了缓存中,但是大部分的数据是需要随着时间的推移做出改变的,这样就会在很多地方重新memcache::set数据,写到最后,很多应该使用memcache::set改变数据的地方,由于忘了set,导致产生了很多的异常。在查找bug的过程中,这一类问题也是不容易显现的,很难想象在一个操作后,会由于没有set新数据或没有清空缓存而导致一个bug的出现。

  换一种说法,既然选择用缓存,就说明这些数据是不经常更新的,这样就不会由于数据没有及时更新,产生未知的bug。

原创粉丝点击