如果我同时使用redis和memcached,那么仍然使用内置的会话API是否有意义?
据我所知,rails上的ruby可以使用内置的api轻松使用memcached,但我想同时使用memcached和redis。
如果我必须手动访问redis,我何时按照请求连接到它?
答案 0 :(得分:5)
答案 1 :(得分:3)
你没有提到你正在使用Redis和Memcached的上下文(或者你为什么使用它们,或如何),但我猜你正在考虑会话数据和缓存(基于此前面的问题:Rails and caching, is it easy to switch between memcache and redis?)
在任何一种情况下,除非你有一个特别不同的用例,否则不使用Rails提供的API没有实际价值。
如果您绝对必须使用两者,只需告诉Rails您希望使用哪个存储引擎来执行哪项功能。
如果您正在做其他事情,也许更多信息可以帮助人们提供更多有用的答案。
答案 2 :(得分:-2)
在Ruby中,您可以将数据存储在任何数据存储区中。不确定是否可以使用内置会话API存储到同一会话的Redis和memcached。
如果您手动访问Redis,只需尽可能少地连接它并使用持久连接(如果适用)以提高性能。
对于PHP和其他服务器端脚本语言,您可能不希望使用内置会话管理。许多服务器端脚本语言(即PHP)将会话信息存储在硬盘上的临时目录中。只有会话ID存储在cookie中。 Redis和memcached的一个优点是它们可以避免磁盘访问并将所有会话/用户信息存储在内存中。因此,不要使用内置的会话API,只需使用cookie编写自己的小会话API并与Redis或memcached进行交互。