В чем преимущество использования пользовательского бэкенда сеансов Gorilla?

Я хочу использовать Redis для управления сеансами.
Но я не могу понять, в чем преимущество использования Redis в качестве пользовательского внутреннего интерфейса для пакета сеансов Gorilla по сравнению с его прямым использованием?

ссылка на пакет сеансов Gorilla: http://www.gorillatoolkit.org/pkg/sessions


person Marwan    schedule 10.04.2014    source источник


Ответы (1)


Сеансы Gorilla предоставляют средства для подключения системы хранения для управления сеансами при условии, что вы придерживаетесь предоставленного интерфейса. В настоящее время они дают вам два магазина из коробки. Одним из них является FilesystemStore, который придерживается интерфейса, который просто хранит и извлекает данные на основе сеанса в файловой системе сервера. CookieStore в качестве другого варианта читает и записывает в браузеры, созданные -в системе cookie, чтобы выполнить то же самое, используя другие средства.

Сеансы Gorilla на самом деле не имеют ничего общего с Redis, но, зная это, вы можете легко использовать собственное хранилище сеансов с Gorilla при условии, что вы создадите RedisStore, который соответствует сеансам Gorilla Интерфейс магазина. На самом деле все зависит от ваших возможностей и того, что вы ищете в системе хранилища сеансов. Gorilla в основном предоставляет вам два варианта из коробки с возможностью предоставления собственного, подходящего для вашего приложения.

Кроме того, если вам удастся создать RedisStore, который может работать с Gorilla Sessions, подумайте о том, чтобы сделать его открытым исходным кодом, поскольку это было бы отличным дополнением к сообществу Go.

Вы должны оценить потребности и требования к производительности вашего приложения, чтобы выяснить, какую систему хранения использовать. Почему Redis, возможно, имеет смысл? Хорошо, если вы создаете приложение, которое выполняет интенсивную запись/модификацию, и эти данные должны сохраняться, хорошо известно, что Redis поможет вам масштабировать ваше приложение, если вы используете его правильно. Сеанс, поддерживаемый Redis, будет работать очень хорошо, если вы знаете, что делаете.

И последнее. Если вы задействуете Redis, рассмотрите возможность использования этого замечательного пакета Go: Redigo в качестве клиентской библиотеки Redis.

person Ralph Caraveo    schedule 10.04.2014
comment
один уже есть, и я думаю, что это хорошо github.com/boj/redistore , просто чтобы сделать уверен, что я правильно понял, преимущество использования сеансов гориллы заключается в возможности использовать несколько способов вместе? - person Marwan; 11.04.2014
comment
Преимущество Gorilla Sessions заключается в том, что основные функции управления сеансами хорошо абстрагируются в библиотеке, которая имеет подключаемые внутренние решения для хранения данных. Что касается Redis, то все сводится к тому, что Redis известен своей скоростью. Это в сочетании с его довольно надежной моделью сохранения означает, что он будет обрабатывать массу одновременных операций чтения/записи. Но это усложняет ваше приложение, потому что теперь у вас есть дополнительный компонент, который необходимо поддерживать, настраивать и т. д. - person Ralph Caraveo; 11.04.2014
comment
Вы можете очень хорошо это сделать, но тогда вам также придется свернуть свой собственный сеанс и управление состоянием, которое включает в себя выяснение того, как поступать с входом/выходом из системы, сопоставлением сеансов с пользователями и сохранением сеансов, если пользователь вернется. - person Ralph Caraveo; 11.04.2014