【发布时间】:2014-05-24 19:34:23
【问题描述】:
我想使用 Redis 进行会话管理。
但我不知道使用 Redis 作为 Gorilla 会话包的自定义后端与直接使用相比有什么优势?
Gorilla 会话包链接:http://www.gorillatoolkit.org/pkg/sessions
【问题讨论】:
标签: go redis session-cookies gorilla
我想使用 Redis 进行会话管理。
但我不知道使用 Redis 作为 Gorilla 会话包的自定义后端与直接使用相比有什么优势?
Gorilla 会话包链接:http://www.gorillatoolkit.org/pkg/sessions
【问题讨论】:
标签: go redis session-cookies gorilla
只要您遵守所提供的界面,Gorilla 会话提供了一种连接存储系统以进行会话管理的方法。目前,他们为您提供了两个开箱即用的商店。一个是FilesystemStore,它遵循在服务器文件系统上简单地存储和检索基于会话的数据的接口。 CookieStore 作为另一种选择,读取和写入浏览器内置的 cookie 系统以使用另一种方式完成相同的事情。
Gorilla 会话确实与 Redis 无关,但知道这一点,您可以轻松地将自己的会话存储与 Gorilla 一起使用,前提是您构建了一个遵循 Gorilla 会话 Store interface 的 RedisStore。这实际上完全取决于您的能力以及您在会话存储系统中寻找的内容。 Gorilla 基本上为您提供了两个开箱即用的选项,以及提供适合您应用的选项。
此外,如果您确实有时间构建一个可以与 Gorilla Sessions 一起使用的 RedisStore,请考虑将其开源,因为它将成为 Go 社区的一个很好的补充。
您必须评估应用的需求和性能要求,以确定要使用的存储系统。为什么 Redis 可能有意义?好吧,如果您正在构建一个执行大量写入/修改的应用程序并且这些数据需要持久保存,那么只要您正确使用它,Redis 就可以帮助您扩展您的应用程序。如果您知道自己在做什么,那么由 Redis 支持的会话将表现得非常好。
最后一点,如果您涉及 Redis,请考虑使用这个出色的 Go 包:Redigo 作为您的 Redis 客户端库。
【讨论】: