Далие следует рассказать про ключ значение. Для работы с redis используется понятие
«Ключ=>значение» как ассоциативный массив. Где ключём является не кий виртуальный массив данных (значений). Представьте себе таблицу
| Ключ | Значение 1 |
| Значение 2 | |
| Значение 3 | |
| ….. | |
| Значение n |
Существует несколько разных типов ключей.
- Strings
- Lists
- Sets
- Sorted sets
- Hashes
Самый простой типа это Strings.
Ключ значения которого это просто строки или много строк.
//определим настройки соединения с сервером$options = array(
‘namespace’ => ‘Application_’,
‘servers’ => array(
array(‘host’ => ’127.0.0.1′, ‘port’ => 6379)
)
);
include_once («Rediska.php»); //подключаем библиотеку
$rediska = new Rediska($options);
$key = new Rediska_Key(‘time’);// так мы определим ключ с именем ‘time’
$time = time();
$key->setValue($time); //так мы запишем значение в ключ
echo $key->getValue(); // вывод текущего значения ключа
Замечу что если повторно выполнить запись в ключ setValue то значение перезаписывается.
И работать с данными в таких ключах стоит как со строковыми переменными.
Далее рассмотрим пример работы с типом Lists (списки)
$list = new Rediska_Key_List(‘list’); // так мы определим ключ с именем ‘list’
$list->append(‘Apple’);
$list->append(‘Orange’);
Добавляем вконец списка сначала элемент ‘Apple’ затем ‘Orange’
$newarray = $list->toArray(true); //Если установлен параметр в true это означает,
что массив будет иметь итератор
Далее мы можем работать с массивом и удалять элементы из списка.
foreach($newarray as $key=>$item){
$list->remove($item->value); //Таким образом мы удалим все элементы списка
}
Рассмотрим пример работы с типом ключей Sets и Sorted sets
Этот тип особенно интересен так как мы можем использовать так называемые индексы значений
более-ммение в полной мере. Предположим что нам нужно хранить время входа пользователя на сайт.
Создадим сет и будем поочерёдно добавлять логин пользователя и время в формате unix timestamp.
$users = new Rediska_Key_Set(«sets»);
$users->add(‘Alexandr’,time());
$users->add(‘Oleg’,time());
$users->add(‘Ivan’,time());
Таким образом мы сформируем список пользователей с дополнительным полем – индексом в
нашем случае меткой времени.
Теперь допустим нам нужно удалить из сета пользователей. $rows = $users->toArray(true);
foreach($rows as $key=>$item){
$users->remove($item->value); //Таким образом мы удалим все элементы списка
} //Теперь рассмотрим пример удаления пользователей с использованием индекса в нашем случае метки времени.
foreach($rows as $key=>$item){
$users->removeByScore(1258125887,1258135887); //Сдесь укажем диапазон если нужен один пользователь и мы знаем время то укажем 2 одинаковых значения
}
Отличие таких ключей от Sorted sets ключей в том, что в сортированных сетах есть сортировка по полю score Это полезно при выводе данных которые должны быть отсортированы по индексу.
Теперь рассмотрим тип ключей Hashes. Эти ключи подобны ассоциативным массивам в PHP.
$user = new Rediska_Key_Hash(‘user’);
$user->set(array(‘Name’ => ‘Alex’, ‘lastName’ => ‘Ivanov’, ‘viewed’ => 1));
$user->set(array(‘Name’ => ‘Oleg’, ‘lastName’ => ‘Petrov’, ‘viewed’ => 0));
//Так мы добавим массив в данный сет // показать такие данные можно через обычный цикл
foreach($user as $field => $value) {
print «$field => $value»;
}
Все возможные методы можно посмотреть сдесь

Про це повідомляє прес-служба фонду Кучми «Україна».

