- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
<?php
class Cached_Query
{
function __construct()
{
$mem_cache = new Memcache;
$mem_cache->connect('localhost', 11211);
mysql_connect("localhost", "root", "");
}
function Query($query_text)
{
$ms_query = mysql_query("SELECT * FROM sometable WHERE somedata = `$query_text`");
$query_data = mysql_fetch_array($ms_query);
return $query_data;
}
function QueryCache($query_text, $seconds)
{
$query_data = $mem_cache->fetch("somedata", $query_text);
if(!$query_data)
{
$ms_query = mysql_query("SELECT * FROM sometable WHERE somedata = `$query_text`");
$query_data = mysql_fetch_array($ms_query);
$mem_cache->add("somedata", $query_text, false, $seconds)
}
return $query_data;
}
function FetchArray($result)
{
foreach($result as $key)
{
echo $key;
}
}
}
?>
Напишите класс-обертку для работы с php_mysql (либо mysqli), реализуйщий функции кеширования с помощью memcached. Достаточно трех методов:
Query($query_text);//обычный запрос
QueryCache($query_text,$seconds);//кеширование запроса
FetchArray($result);//вывод результатов
Да говно-вопрос.
mindfreakthemon 05.03.2011 21:58 # 0
varg242 05.03.2011 22:00 # 0
не стесняйся, товарищ
mindfreakthemon 05.03.2011 22:04 # 0
да задание само было размытое.
не указано где создавать коннекшн и как его хранить, как обрабатывать проблемы там, и вообще.
varg242 05.03.2011 22:04 # 0
mindfreakthemon 05.03.2011 22:05 # 0
Nerd 05.03.2011 23:46 # +3
ZX_Spectrum 05.03.2011 23:58 # 0
mindfreakthemon 06.03.2011 00:07 # 0
ZX_Spectrum 06.03.2011 00:18 # +2
ZX_Spectrum 06.03.2011 00:34 # 0
Lure Of Chaos 06.03.2011 02:07 # 0
ZX_Spectrum 06.03.2011 03:03 # 0
но оставлять рутовый пароль на mysql пустым нельзя (имхо) даже на своем ноутбуке, такое до добра не доведет!
varg242 06.03.2011 06:59 # 0
bugmenot 06.03.2011 07:03 # +2
> ООП
RLY!
Lure Of Chaos 06.03.2011 19:48 # +1
guest 31.01.2017 15:20 # 0