实现MySQL哈希表的最佳方法是什么?

3

背景

我目前正在开发一个在线社区,我想在哈希表中存储一些临时信息。目前这些信息被存储在 memcached 中,但是如果 memcached 服务需要重启或失败,我希望能够回到磁盘上的哈希/缓存。

问题

在 MySql 中实现磁盘上的哈希或缓存表的最有效方法是什么?有没有什么技术可以帮助我摆脱简单表格,该表格将具有以下字段:

  • 哈希值
  • 存储值
  • 过期日期

任何帮助或见解都将不胜感激。

注意事项

  • 我不会存储任何复杂的数据对象,只是简单的文本字符串。
  • 我的当前计划是实现一个 InnoDB 表格。
  • 任何关于类似主题的文章链接都将是额外的收获。

我认为你在这里有点落后了。如果你需要永久存储(即使它是“临时的”),那么你应该首先使用数据库开发应用程序,然后使用memcached来加速它。 - bobwienholt
@Bob,你提出了一个很好的观点。虽然我想从一开始就构建缓存,因为我认为最终我会需要它。 - GateKiller
你在“简单表格”中提出了什么改进措施,尤其是哈希值被索引的情况下? - Alkini
@Alan。在进行缓存之前,有哪些我应该考虑以提高数据库性能的问题?数据类型、存储引擎等? - GateKiller
@GateKiller:考虑性能是好的,但你可能有点过于心急了。毕竟,你只需要一个表,三个字段,一个索引——作为备份/持久化解决方案(你计划主要使用memcached)。我会简单地创建一个表,进行一些测试,看看效果如何。 - Tomalak
1个回答

6
你已经大部分地解决了问题:一个表,三列(可能有第四列作为无意义的整数ID用于主键),以及哈希值列上的索引。当你有一个可测试/可修复的问题需要克服时,请再次询问。
“……过早优化是万恶之源”-Knuth

“过早的优化是万恶之源” 我同意! - GateKiller

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接