Далие следует рассказать про ключ значение. Для работы с redis используется понятие
«Ключ=>значение» как ассоциативный массив. Где ключём является не кий виртуальный массив данных (значений). Представьте себе таблицу
Существует несколько разных типов ключей.
Ключ значения которого это просто строки или много строк.
//определим настройки соединения с сервером$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»;
}
Все возможные методы можно посмотреть сдесь
«Ключ=>значение» как ассоциативный массив. Где ключём является не кий виртуальный массив данных (значений). Представьте себе таблицу
| Ключ | Значение 1 |
| Значение 2 | |
| Значение 3 | |
| ….. | |
| Значение n |
- Strings
- Lists
- Sets
- Sorted sets
- Hashes
Ключ значения которого это просто строки или много строк.
//определим настройки соединения с сервером$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»;
}
Все возможные методы можно посмотреть сдесь
Play free online slots | Drmcd
ОтветитьУдалитьFind the best free slots for your Android or 의왕 출장마사지 iOS phone 서울특별 출장샵 today. We're here to help, and to help! We have created the best free 밀양 출장마사지 slots, casino games 통영 출장안마 and apps for Android and 충청북도 출장마사지