Postgres Hstore vs. Redis – performance明智

我在Postgres上阅读了Redis提供的HStore。

我们的应用程序是用NodeJS编写的。 两个问题:

  • 性能方面,Postgres HStore与Redis相当?

  • 对于会话存储,你会推荐什么–Redis,或Postgres与其他types的数据types(如HStore,或者甚至通常的关系表)? 一个选项与另一个选项有多差?

另一个限制是,我们需要使用PostgreSQL中已经存在的数据,并将其与活动会话(如果在Redis或PostgreSQL中,我们不确定在哪里存储)结合使用。

根据我们所读到的,我们已经指出要使用Redis作为会话pipe理器,但是由于PostgreSQL的限制,我们不确定如何将这两者结合起来,以及可能出现的性能问题。

谢谢!

Redis将比Postgres更快,因为Pg为您的数据提供了可靠性保证(当事务被提交时,它保证在磁盘上),而Redis有一个感觉是写入磁盘的概念,所以不应该是用于关键数据。

Redis似乎是您会话数据的一个很好的select,或者甚至可以存储在cookie或客户端Javascript中。 但是,如果您在每个请求中都需要来自数据库的数据,那么Redis可能不值得参与。 它非常依赖于你的应用程序。

使用PostgreSQL作为会话pipe理器通常是个坏主意。

对于9.1以上的版本,基于持久性媒体参数,每秒事务的物理限制是每秒。 对于会话pipe理,通常不需要MGA(因为没有碰撞),这意味着MGA开销较大,没有MGA和ACID的数据库必须快得多(10或100)。

我知道一个使用PostgreSQL进行会话pipe理的用例,性能是非常可怕和不稳定的 – 这是eshop大约有10000个活动会话。 当会话pipe理转移到memcached时,性能和稳定性显着增加。 大概PostgreSQL可以用于100个生活会议。 更高的数字有更好的工具。