Задание 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
)
)
Помогите пожалуйста, буду очень блогадарен .