Використання memcache за допомогою php

Сьогодні я представлю вам невеликий фрагмент коду, який навчить вас взаємодіяти з Memcache. Для того щоб встановити Mediatemple на хостингу вам необхідні дані для SSH.

Хто використовує Memcache?

Memcache була розроблена Danga Interactive для того, щоб збільшити швидкість роботи порталу LiveJournal.com. Memcache зводить час завантаження з бази даних практично до нуля, від чого зростає швидкість завантаження сторінки для користувачів, прискорене управління ресурсами і т.д. На даний момент FaceBook є найбільшим користувачем сервісу Memcache. З огляду на кількість людей прибувають на FaceBook щодня, він мало не завалив даний сервіс - і для них виділили окреме місце.

Використання memcache за допомогою php

Що таке Memcache?

Ну що, цікаво стало? Memcache є універсальною системою розподілу кешованих елементів. Якщо в кеші нічого немає, то робиться запит до бази і результати записуються в Memcache:

Memcache надає 5 функцій:

  • get () - витягує значення по ключу
  • set () - встановлює значення
  • add () - додає кеш, якщо його не існує
  • replace () - замінює кеш
  • flush () - видаляє всі закешовану дані

Якщо ви встановили у себе Memcache, то ви можете почати ним користуватися. Існує думка, що багато кешу це погано. Я з цим абсолютно не згоден! Чим швидше вантажиться ваш сайт - тим краще!

  • Перші два рядки виробляють підключення до Memcache.
  • Далі слід скрипт підключення до бази даних.
  • Потім створюємо ключ. Коли ми хочемо помістити дані в Memcache, то нам необхідно передати 3 елементи для вставки: ключ, значення і час життя кешу. Ключ необхідний для отримання доступу до даних. У цьому прикладі ви можете побачити, що я використовую в якості ключа MD5 хеш запиту.
  • Далі ми перевіряємо чи існує кеш. Перевірка поверне нам true або false. Якщо він є, отримуємо до нього доступ.
  • Якщо кеша немає, то ми підключаємося до бази і дістаємо значення. Для створення кешу використовуємо такий вираз: $ memcache-> set ($ key, $ row, TRUE, 20); $ Row зберігає масив того, що ми дістали з бази. 20 цей час життя в кеша в секундах.

Це найпростіший приклад використання memcache, але я сподіваюся, це був хороший старт для вас.

5 останніх уроків рубрики "PHP"

Коли мова йде про безпеку веб-сайту, то фраза "фільтруйте все, екрануйте все" завжди буде актуальна. Сьогодні поговоримо про фільтрації даних.

  • Expressive 2 підтримує можливість підключення інших ZF компонент за спеціальною схемою. Не всім подобається це рішення. У цій статті ми розповімо як поліпшили процес підключення декількох модулів.

  • Припустимо, що вам необхідно відправити якусь інформацію в Google Analytics з серверного скрипта. Як це зробити. Відповідь в цій замітці.

  • Підбірка з декількох видів PHP пісочниць. На деяких ви в режимі online зможете потестить свій код, але є так само рішення, які можна впровадити на свій сайт.

    штука потрібна і корисна. сам користуюся. Тільки в статті для повного щастя не вистачає матеріалу як встановити memcache на локальну машину для тестів.

  • Так, не завадило б! Не зовсім зрозуміло

    ось це так. спробуй скоротити кількість запитів до двох. якщо раз на добу оновлення, то легше масив з результатами писати в файл, а не засмічувати оперативку. Файловий кеш. Ага.

  • і просто! брати від запиту md5, який і буде ключиком. як зберігати добу. код відповідає на питання: потрібно 20 замінити на 86400 (результат виражежнія 60 * 60 * 24 - сек * хв * год) але дані навряд чи доцільно зберігати в оперативці так довго

    якщо в піку сервер справляється і є "запас міцності", можна не ставити. тут залежить не від кількості хостів, а від складності запитів / вибірок: якщо вони сильно навантажують сервер і рідко оновлюються, то краще використовувати кеш. якщо повертаються дані змінюються сотнями мегабайт, то не знаю, який vps впорається.

  • НЕА новей

    в коді помилка. Warning: MemcachePool :: set () [memcachepool.set]: The lowest two bytes of the flags array is reserved for pecl / memcache internal use. якщо $ memcache> set ($ key, $ row, TRUE, 20); де $ row масив то memcache облає. мене він так обматюкав або не те зробила. З англійської хелпа написано тільки значення string, integer поки все крутиться на стерилізованих масивах.

  • new_forward

    Доброго вам дня! Дайте відповідь будь ласка на питання, а то є нюанси в мемкеше. 1. Така ситуація ось так $ memcache> set ($ key, $ row, TRUE, 20); не працює, але працює ось так $ memcache> set ($ key, $ row); Як можна час поставити? 2. Чим відрізняється функція add (); від set (); 3. Як Ви виводите оту табличку вгорі (на скріншете) щоб подивитися скільки воно накешіровало? До речі підключаюся ось так $ memcache> addServer ( '127.0.0.1', 11211) версія мемкеша 1,45.

    keltanas

    > З огляду на кількість людей прибувають на FaceBook щодня, він мало не завалив даний сервіс - і для них виділили окреме місце. Ось це новина, звичайно!

    jonik_lowkick

    Після прочитання цієї пропозиції у мене взагалі склалося враження, що memcache це якийсь глобальний сервер де кешуються дані з усього світу, а FaceBook поклав його.

    Використання memcache за допомогою php

    За рахунок отримання інформації відразу по двох каналах (зір і слух) ефективність навчання значно перевершує навчання по книгах. А домашні завдання і онлайн-тести дозволять вам постійно думати на мові, що вивчається і відразу перевіряти свої знання!

    Використання memcache за допомогою php

    Використання memcache за допомогою php

    Якщо ви давно хочете як слід вивчити HTML, то у мене для Вас є чудова новина!

    Використання memcache за допомогою php

    Якщо ви вже вивчили HTML і хочете рухатися далі, то наступним кроком буде вивчення технології CSS.

    Використання memcache за допомогою php

    Якщо ви хочете розібратися з поняттями домену і хостингу, навчитися створювати бази даних, закачувати файли сайту на сервер по FTP, створювати піддомени, налаштовувати поштові скриньки для свого сайту і стежити за його відвідуваністю, то цей курс створений спеціально для вас!

    Схожі статті