存储数据的时间有限:memcache vs mysql

时间:2017-07-27 15:50:10

标签: mysql memcached datastore

我需要在有限的时间内存储一些数据(最多24小时),在那段时间内可能会或可能不会访问这些数据。我可以同时使用memcache和mysql -

  1. Memcache :在memcache中设置一个具有到期时间的密钥。这将是非持久性的,但我可以使用它。访问数据的速度会更快。

  2. MySql :创建一个表来存储此数据并维护一个作业,以便在到期后继续存档。比较慢。

  3. 我应该使用哪一个?这是memcache的有效用例吗? (因为内存缓存用于存储非常频繁访问的数据)

    请建议是否有其他选项可用于存储此类临时数据。

1 个答案:

答案 0 :(得分:1)

我认为memcache对你的情况不太可靠。 Memcache是​​一个缓存,如果一个对象开始变满,它就可以驱逐一个对象,而且你不会知道该对象被删除了。因此,如果对象不存在,您无法确定它是否因为驱逐而存在,或者因为您实际上没有将它放在那里。

此外,如果您大量使用内存缓存并且内存缓存的利用率约为75%(这意味着您的内存缓存已满),那么我建议不要使用内存缓存。由于非常高的概率,数据将在不使用时快速逐出。如果这对您来说不是问题,那么您可以使用memcache。

您可以将此数据存储在mysql中。这是一个不错的选择。

您可以尝试的另一个选项是mongodb或其他一些数据库,您可以选择ttl(生存时间)。优点是你可以确定在ttl之前没有驱逐。

相关问题