Загрузка данных


<?php
// Подключение к Memcached
$memcached = new Memcached();
$memcached->addServer('127.0.0.1', 11211);

// Проверка подключения
if ($memcached->getVersion()) {
    echo "<h2 style='color: green;'>✓ Подключение к Memcached успешно!</h2>";
    echo "<p>Версия Memcached: " . print_r($memcached->getVersion(), true) . "</p>";
} else {
    echo "<h2 style='color: red;'>✗ Ошибка подключения к Memcached!</h2>";
    echo "<p>Проверьте, запущена ли служба: sudo systemctl status memcached</p>";
    exit;
}

// Тест 1: Установка и получение строки
echo "<h3>Тест 1: Базовые операции</h3>";
$key = 'test_string';
$value = 'Привет, мир!';
$memcached->set($key, $value, 300); // 300 секунд TTL
$result = $memcached->get($key);
echo "<p>Установлено: <strong>$value</strong></p>";
echo "<p>Получено: <strong>$result</strong></p>";
if ($result === $value) {
    echo "<p style='color: green;'>✓ Тест пройден</p>";
} else {
    echo "<p style='color: red;'> Тест провален</p>";
}

// Тест 2: Работа с числами (инкремент)
echo "<h3>Тест 2: Арифметические операции</h3>";
$counter_key = 'visitor_counter';
$memcached->set($counter_key, 100, 0);
$memcached->increment($counter_key, 1);
$memcached->increment($counter_key, 5);
$current = $memcached->get($counter_key);
echo "<p>Начальное значение: 100</p>";
echo "<p>После +1 и +5: <strong>$current</strong></p>";
if ($current == 106) {
    echo "<p style='color: green;'>✓ Тест пройден</p>";
} else {
    echo "<p style='color: red;'>✗ Тест провален</p>";
}

// Тест 3: Работа с массивами
echo "<h3>Тест 3: Сложные структуры данных</h3>";
$user_data = [
    'id' => 123,
    'name' => 'Иван Петров',
    'email' => 'ivan@example.com',
    'age' => 25
];
$memcached->set('user:123', $user_data, 600);
$retrieved_user = $memcached->get('user:123');
echo "<pre>";
echo "Сохраненные данные:<br>";
print_r($user_data);
echo "<br>Полученные данные:<br>";
print_r($retrieved_user);
echo "</pre>";
if ($retrieved_user['name'] === $user_data['name']) {
    echo "<p style='color: green;'>✓ Тест пройден</p>";
} else {
    echo "<p style='color: red;'>✗ Тест провален</p>";
}

// Тест 4: Статистика
echo "<h3>Тест 4: Статистика Memcached</h3>";
$stats = $memcached->getStats();
echo "<p>Всего элементов в кэше: <strong>" . $stats['curr_items'] . "</strong></p>";
echo "<p>Использовано памяти: <strong>" . number_format($stats['bytes']) . " байт</strong></p>";
echo "<p>Всего операций записи: <strong>" . $stats['cmd_set'] . "</strong></p>";
echo "<p>Всего операций чтения: <strong>" . $stats['cmd_get'] . "</strong></p>";

echo "<hr><h2 style='color: blue;'>Все тесты завершены!</h2>";
?>