Сессия файл VS кэш-память VS для кэша в PHP?

Посмотрите следующее для примера, который показывает объявление и потенциальное использование:

namespace Flags
{
    class Program
    {
        [Flags]
        public enum MyFlags : short
        {
            Foo = 0x1,
            Bar = 0x2,
            Baz = 0x4
        }

        static void Main(string[] args)
        {
            MyFlags fooBar = MyFlags.Foo | MyFlags.Bar;

            if ((fooBar & MyFlags.Foo) == MyFlags.Foo)
            {
                Console.WriteLine("Item has Foo flag set");
            }
        }
    }
}
25
задан JasonDavis 29 July 2009 в 03:01
поделиться

1 ответ

Следует избегать использования AJAX, если та же функциональность может быть реализована полностью на стороне клиента без дополнительного обращения к серверу.

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

Это намного быстрее, чем хранение сеансов в базах данных, и позволяет вашим сеансам сохраняться на нескольких веб-узлах (если вы находитесь в ситуации с балансировкой нагрузки) ... это также немного повысит производительность вашего сайта, поскольку в этом нет необходимости попадать в файловую систему / базу данных для получения информации о сеансе по каждому запросу.

... и многое другое;)

Что касается некоторых из ваших опасений по поводу объема памяти, занимаемого отдельными кэшируемыми элементами, у вас есть несколько вариантов. Моя первоначальная мысль состоит в том, чтобы просто покрутить его, посмотреть, насколько действительно большие эти элементы кеша (вы можете найти несколько вещей с открытым исходным кодом для мониторинга фактического использования кеша, например кактусы). Я думаю, они будут меньше, чем вы думаете.

Если это не так, я бы предложил переосмыслить вашу стратегию кеширования в отношении того, что вы на самом деле кешируете, как долго и т. Д. Возможно, вы могли бы создать канал из нескольких вещей, уже находящихся в кеше (например, кэшировать отдельные данные пользователя, а затем создать канал для человека из всех этих отдельных элементов в кеше). На эту тему есть много хороших статей, просто поищите их :)

32
ответ дан 28 November 2019 в 21:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: