代码之家  ›  专栏  ›  技术社区  ›  Jan Hančič

使用什么而不是memcache

  •  4
  • Jan Hančič  · 技术社区  · 14 年前

    我正在使用memcache进行缓存(很明显),这很好。但我也将它用作交叉请求/处理数据存储。例如,我在其中一个页面上进行网络聊天,并使用memcache将在线用户列表存储在其中。工作得很好,但是如果我必须刷新整个memcache服务器(无论什么原因),我会把在线列表弄松。我还使用它来记录一些内容的视图(然后定期更新数据库中的实际行),如果清除缓存,我会释放所有关于视图的数据(从上次写入数据库)。

    所以我要问的是:我应该用什么来代替memcache来处理这类事情?它需要速度快,最好将数据存储在内存中。我觉得一些NoSQL产品很适合这里,但我不知道是哪一种。我想用一些我将来可以用在其他用例中的东西来分析(比如用户搜索最多的是什么)。

    我使用的是PHP,所以它必须有很好的绑定。

    2 回复  |  直到 14 年前
        1
  •  6
  •   Kendall Hopkins    14 年前

    Redis !就像是服用类固醇的memcache(好的那种)。 Here are some drivers .

    Redis是一个高级键值存储。它类似于memcached,但是 数据集不是易失性的 和值可以是字符串,就像memcached中的字符串一样,但也可以是 列表、集合和有序集合 . 所有这些数据类型都可以通过原子操作进行操作,以推/弹出元素、添加/删除元素、执行服务器端联合、交集、集之间的差异等等。Redis支持不同的排序功能。

        2
  •  1
  •   Aaron Jackson    14 年前

    你可以试试memcachedb。它使用与memcache完全相同的协议,但它是持久存储。

    你也可以试试Cassandra或Redis