Задание 1
Каждый пользователь на сайте может вести личную переписку с другими посетителями. У каждого пользователя есть уникальный номер, логин, имя (ник). При запросе сообщений с одним из посетителей, текущий пользователь “Вася” должен получить переписку в следующем виде и по дате убывания сообщений, с разбивкой по страницам (на страницу от 6 до 15 сообщений, каждое сообщение не более 255 символов).
12/12/2010 16:30
От: Маша
> Привет. Я тут новенькая. Расскажешь, что к чему?
11/12/2010 02:45
От: Вася
> Привет! Познакомимся?
Задачи:
1. Спроектировать структуру таблицы или таблиц, для данной схемы организации сообщений, с учетом того, что при отправке сообщения уже известны ID получателя, ID отправителя, Имя (Ник) отправителя. А так же с учетом того, что в сутки поступает более 700 000 сообщений.
2. Продемонстрировать запрос (или запросы) для выборки сообщений.
3. Предложите тип таблицы: MyIsam или InnoDB, обоснуйте свой выбор.
4. Постройте индексы.
Задание 2
Напишите класс-обертку для работы с php_mysql, реализующий функции кеширования с помощью memcache.
[spoiler=Описание memcache]см. по адресу http://www.php.net/manual/en/book.memcache.php[/spoiler]
Пример клиентской части:
Код: Выделить всё
<?php
$query = 'select id,username,age from users where age=20';
$result = $db->QueryCache($query,900);//кеш на 900 секунд
while($row=$db->FetchArray($result))
{
	echo $row[‘id’].' '.$row[‘username’] .' '.$row[‘age’].'<br/>';
}
?>Задание 3
Есть текстовый файл конфигурации следующего вида:
id=site.ru
session.timeout=120
dbserver.0.host=127.0.0.1
dbserver.0.user=localhost
dbserver.0.password=12345
dbserver.1.host=127.0.0.2
dbserver.1.user=localhost
dbserver.1.password=12345
colorscheme.default=red
photos.max_size=1500
photos.max_limit=10
Требуется написать функцию преобразования данного файла в массив.
Пример:
Код: Выделить всё
<?php
$cfg = parse_conf("cfg.txt");
echo '<pre>';
print_r($cfg);
echo '</pre>';
?>
Array
(
    [id] => site.ru
    [session] => Array
        (
            [timeout] => 120
        )
    [dbserver] => Array
        (
            [0] => Array
                (
                    [host] => 127.0.0.1
                    [user] => localhost
                    [password] => 12345
                )
            [1] => Array
                (
                    [host] => 127.0.0.2
                    [user] => localhost
                    [password] => 12345
                )
        )
    [colorscheme] => Array
        (
            [default] => red
        )
    [photos] => Array
        (
            [max_size] => 1500
            [max_limit] => 10
        )
)Помогите пожалуйста, буду очень блогадарен .



