1. PHP / Говнокод #9951

    +156

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    foreach ($items as $item_id)
    {
        if ((int)$item_id<=0)
            die();
        // ...
        if (!$redis->sIsMember("views_today_stats_sadd:{$views_stats_namespace}",$key))
            $redis->sAdd("views_today_stats_sadd:{$views_stats_namespace}",$key);
        // ...
    }

    Пехепешник второго уровня: циклы уже осилил, а вот с множествами пока не разобрался.

    Запостил: roman-kashitsyn, 14 Апреля 2012

    Комментарии (10) RSS

    • а в пахэпэ есть множества ?
      Ответить
      • большое множество мартышек с очками PHP
        Ответить
      • Скорее всего, речь идет о том, что автор кода неправильно использовал стандартный тип данных Redis - set (http://redis.io/topics/data-types#sets). См. команду SADD (http://redis.io/commands/sadd)
        Ответить
        • Спасибо за ссылку, даже не знал про такую вещь как redis
          Ответить
          • Отличная штука. Нужно только сменить мозг после реляцинных баз данных с их sql.
            Ответить
            • самое забавное, что SQL задумывался как язык не для яйцеголовых программистов, а для замужних операторов бальзаковского возраста

              прошло 30 лет

              теперь обезьяноподобным программистам SQL кажется слишком сложным
              Ответить
              • Лол, это ты обо мне? Да на sql гораздо проще сложную логику писать, чем на Redis. Для того и нужно мозг менять, чтобы придумать, как выбрать нужные данные, имея в руках лишь хэш-таблицы, списки и множества (никаких тебе ванильных where и join с подзапросами).
                Ответить
                • Redis была бы хороша, если бы не отваливалась зохавав 100500ГБ памяти
                  Ответить
                  • Да, все данные должны помещаться в память. Раньше своппили данные, но от этой затеи отказались. Просто нужно использовать редиску там, где она подходит - очень динамичные данные, полностью помещающиеся в память.
                    Ответить
    • показать все, что скрытоvanished
      Ответить

    Добавить комментарий