gpt4 book ai didi

javascript - Memcache vs Redis vs Javascript Hash 对象

转载 作者:IT王子 更新时间:2023-10-29 06:11:58 26 4
gpt4 key购买 nike

我知道 memcache 和 redis 在需要为多个服务器提供缓存时使用。我正在创建一个仅在单个服务器上运行并使用 mysql 作为数据库的节点应用程序,我需要散列大约 100,000 个键,每个键将包含长度为 200 的 json 字符串,这样我就不必调用 mysql 进行读取.

如果我使用 memcache 或 redis,我将使用回调来获取我的数据,但如果我使用 javascript 哈希,我可以同步获取数据,但它会以某种方式影响应用程序,例如内存使用率高。我应该为这样的应用程序使用哪一个?

最佳答案

I know memcache and redis are used when caching needs to be there for more than one servers.

不一定,例如 Facebook 在他们的每个 mysql 服务器前面放置了一个 memcache 实例。您可以使用 Redis/Memcache 进行快速计算(例如实时分析),而无需整个集群。

and i need to hash around 100,000 keys and each key will contain json string of 200 in length, so that i dont have to call mysql for reads.

这对我来说似乎是过早的优化,如果 MySQL 有足够的 RAM(数据集存在于内存中)你不必担心性能,那只是 100 个键。

If i use memcache or redis i will use a callback to get my data

如果真的取决于您使用什么语言(Ruby 和 Python 提供同步 Redis 客户端)以及使用什么类型的 paradygm(事件循环、线程池...)

but if i use javascript hash i can get the data synchronously

更准确地说,那只是因为您使用的是 node_redis 而不是因为您使用的是 javascript“哈希”(实际上是一个对象)。

but will it affect the application somehow, like high usage of memory

这取决于您是否在进程中加载​​所有 key ,是否使用 Redis Hash , 你将只能查询你想要的字段,而不是每次都查询整个字段。

Which one i should be using for a application like this?

最好记住的一点是,减少您必须在堆栈中维护的应用程序数量,同时仍然使用正确的工具来完成正确的工作。在这里 MySQL 可能就足够了,但如果你真的想使用 Redis 或 MemCached,我会选择 Redis。它将提供与具有相同性能的 memcached 类似的功能,允许您在未来使用它的其他数据结构,而无需在您的堆栈中使用其他应用程序。

此外,如果您将所有数据放入 Redis HASH 中,您将能够通过一次调用检索一个字段 (hget) 或一组字段 (hmget) 或所有字段 (hgetall)。

最后,关于recent statistics和 Redis 生态系统(GUIhostinglibrairies、...),如果您真的想走那条路,Redis 似乎比 Memcached 更适合 future 。

免责声明:我是Redsmin的创始人,一种面向在线开发人员的服务,用于管理和监控 Redis。

关于javascript - Memcache vs Redis vs Javascript Hash 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20172578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com