Article

Redis 01 Данные, get/set

Итак, 5 типов данных, у каждого из них свои set/get

String


SET GET ==> назначить/взять к-з
GETSET ==> взять значение если есть, присвоить значения если нету.Если значение за ключем уже было,
1)@return старое значение 2) присвоить новое значение


MSET MGET ==> присвоить/выбрать сразу несолько к-з


SETNX MSETNX ==> set if not exist, присвоить 1 или сразу несколько значений, @return 0|1,
если в MSETNX хотя бы 1 ключ уже существует, остальные НЕ запишутся



SETEX PSETEX ==> установить к-з с ограниченным временем жизни в с/мс(супер для кеша)


Теперь, отступление, для примера я не хочу менять ключ users, НО, данных дальше может быть слишком много, поэтому я буду сбрасывать данные перед каждым новым этапом.
В данном случае, нам пора посмотреть на первые общие команды Redis

List

LPUSH RPUSH ==> добавляет несколько элементов к массиву слева/справа

LPOP RPOP ==> берём элем с массива слева/справа при этом эти элем удаляются с массива

LRANGE ==> показать значения массива в определенном диапазоне ключей, чтобы показать всё что есть, проще всего указать чересчур большой диапазон


LPUSHX RPUSHX ==> добавить несколько значений в list, ТОЛЬКО ЕСЛИ этот лист уже существует и не пустой
@return 0|listCount


LINSERT ==> вставить элем до или после определенного значения массива, несколько значений сразу == ERROR


Итак, в список мы можем:

  • просто добавлять/брать инфу
  • добавлять только если список существует
  • добавлять что-то внутрь сформированного списка


HASH

HSET HGET ==> записать/выбрать значение по ключу в/с ассоциативного массива
HGETALL
==> получить список со всеми ключами и значениями
HVALS ==> получить значения всех значений ключей ассок массива
HKEYS ==> получить значения всех ключей ассок массива
# img9


HMSET ==> записать в ассок массив сразу несколько значений по ключам
HMGET ==> выбрать с ассок массива сразу несколько пар к-з


HSETNX ==> устанавливает в ассок массив новую пару к-з, ТОЛЬКО если такого ключа ещё не было


Hash:

  • можно сделать некий аналог реляции, и к примеру создать таблицу с пользователями
  • нельзя создать повторно те же к-з внутри массива


Sets

SADD ==> добавить 1+ элем в множество, причем данные, которые сюда попали повторно - игнорируются
SMEMBERS ==> показать всё, что находится в текущем множестве

Sets:

  • встроенная антинакрутка,

Sorted sets

ZADD ==> добавить одно/несколько значений к множеству + задать им значимость
ZRANGE
==> посмотреть все пары к-з множества в заданном диапазоне
# img13


Sorted sets

  • можно сортировать по важности
  • (спойлер ) можно сортировать по значения внутри, выбирать только уникальные значения с нескольких сетов
  • применимы там, где нужно не просто неповторяющеесь множество, а ещё и с внутренними числовыми показателями
Third-party source 2

No data here

Dropdown
test 123