Skip to content
Snippets Groups Projects
Commit c1c2a105 authored by Alexander Tolstoy's avatar Alexander Tolstoy
Browse files

add redis-cli reference

parent dadc13cd
No related branches found
No related tags found
1 merge request!564add redis-cli reference
Pipeline #52785 passed
......@@ -75,38 +75,279 @@ redis-cli -p 7379
## Поддерживаемые команды {: #supported_commands }
Полностью поддерживаемые команды:
### Управление кластером {: #cluster_management }
- cluster management:
- ping
- connection management:
- select
- generic:
- del
- exists
- expire
- keys
- persist
- scan
- ttl
- type
- hash:
- hdel
- hexists
- hget
- hgetall
- hincrby
- hkeys
- hlen
- hscan
- hset
- string
- get
- set
#### ping
```sql
PING [message]
```
Возвращает `PONG`, если аргумент не указан, в противном случае
возвращает строкой аргумент, который пришел. Эта команда полезна для:
- проверки того, живо ли еще соединение
- проверки способности сервера обслуживать данные — ошибка возвращается,
если это не так (например, при загрузке из постоянного хранилища или
обращении к устаревшей реплике)
- измерения задержки
### Управление соединениями {: #connection_management }
#### select
```sql
SELECT index
```
Получение логической базы данных Redis с указанным нулевым числовым
индексом. Новые соединения всегда используют базу данных 0.
### Общие команды {: #general }
#### del
```sql
DEL key [key ...]
```
Удаляет указанные ключи. Несуществующие ключи игнорируются.
#### exists
```sql
EXISTS key [key ...]
```
Проверяет, существует ли указанный ключ `key` и возвращает число совпадений.
Например, запрос `EXISTS somekey somekey` вернет `2`.
#### expire
```sql
EXPIRE key seconds [NX | XX | GT | LT]
```
Устанавливает срок жизни (таймаут) для ключа `key`. По истечении таймаута ключ
будет автоматически удален. В терминологии Redis ключ с установленным
тайм-аутом часто называют _волатильным_.
Тайм-аут будет сброшен только командами, которые удаляют или
перезаписывают содержимое ключа, включая DEL, SET и GET/SET. Это
означает, что все операции, которые концептуально изменяют значение,
хранящееся в ключе, не заменяя его новым, оставляют таймаут нетронутым.
#### keys
```sql
KEYS pattern
```
Возвращает все ключи, соответствующие шаблону.
Поддерживаются шаблоны в стиле _glob_:
- `h?llo` соответствует hello, hallo и hxllo
- `h*llo` соответствует hllo и heeeello
- `h[ae]llo` соответствует hello и hallo, но не hillo
- `h[^e]llo` соответствует hallo, hbllo, ... но не hello
- `h[a-b]llo` соответствует hallo и hbllo
#### persist
```sql
PERSIST key
```
Удаляет существующий таймаут для ключа `key`, превращая его из непостоянного
(ключ с установленным сроком действия) в постоянный (ключ, срок действия
которого никогда не истечет, поскольку таймаут для него не установлен).
#### scan
```sql
SCAN cursor [MATCH pattern] [COUNT count] [TYPE type]
```
Команда `SCAN` используется для инкрементного итерационного просмотра
коллекции элементов в выбранной в данный момент базе данных Redis.
#### ttl
```sql
TTL key
```
Возвращает оставшееся время жизни ключа `key`, для которого установлен
таймаут. Эта возможность интроспекции позволяет клиенту Redis проверить,
сколько секунд данный ключ будет оставаться частью набора данных.
Команда возвращает `-2`, если ключ не существует.
Команда возвращает `-1`, если ключ существует, но не имеет связанного с
ним истечения срока действия.
#### type
```sql
TYPE key
```
Возвращает строковое представление типа значения, хранящегося по адресу
ключа `key`. Могут быть возвращены следующие типы:
- `string`
- `list`
- `set`
- `zset`
- `hash`
- `stream`
### Хэш-команды {: #hash }
#### hdel
```sql
HDEL key field [field ...]
```
Удаляет указанные поля из хэша, хранящегося по адресу ключа `key`.
Указанные поля, которые не существуют в этом хэше, игнорируются. Удаляет
хэш, если в нем не осталось полей. Если `key` не существует, он
рассматривается как пустой хэш, и эта команда возвращает `0`.
#### hexists
```sql
HEXISTS key field
```
Возвращает, является ли поле `field` существующим полем в хэше, хранящемся по
адресу ключа `key`.
#### hget
```sql
HGET key field
```
Возвращает значение, связанное с полем `field` в хэше, хранящемся по
адресу ключа `key`.
#### hgetall
```sql
HGETALL key
```
Возвращает все поля и значения хэша, хранящегося по адресу ключа `key`. В
возвращаемом значении за именем каждого поля следует его значение,
поэтому длина ответа будет в два раза больше размера хэша.
#### hincrby
```sql
HINCRBY key field increment
```
Увеличивает число, хранящееся в поле `field`, в хэше, хранящемся в ключе
`key`, на инкремент. Если ключ не существует, создается новый ключ,
содержащий хэш. Если поле не существует, то перед выполнением операции
его значение устанавливается в `0`.
Диапазон значений, поддерживаемых `HINCRBY`, ограничен 64-битными
знаковыми целыми числами.
#### hkeys
```sql
HKEYS key
```
Возвращает все имена полей в хэше, хранящемся по адресу ключа `key`.
#### hlen
```sql
HLEN key
```
Возвращает количество полей, содержащихся в хэше, хранящемся по адресу
ключа `key`.
#### hscan
```sql
HSCAN key cursor [MATCH pattern] [COUNT count] [NOVALUES]
```
Работает подобно [SCAN](#scan), но с некоторым отличием: `HSCAN`
выполняет итерацию полей типа Hash и связанных с ними значений.
#### hset
```sql
HSET key field value [field value ...]
```
Устанавливает указанные поля в соответствующие им значения в хэше,
хранящемся по адресу ключа `key`.
Эта команда перезаписывает значения указанных полей, которые существуют
в хэше. Если ключ не существует, создается новый ключ, содержащий хэш.
### Команды для строк {: #string }
#### get
```sql
GET key
```
Получает значение ключа `key`. Если ключ не существует, возвращается
специальное значение `nil`. Если значение, хранящееся в ключе, не
является строкой, возвращается ошибка, поскольку `GET` работает только
со строковыми значениями.
#### set
```sql
SET key value [NX | XX] [GET] [EX seconds | PX milliseconds |
EXAT unix-time-seconds | PXAT unix-time-milliseconds | KEEPTTL]
```
Сохраняет строковое значение в ключе. Если ключ уже содержит значение,
оно будет перезаписано, независимо от его типа. Любое предыдущее
ограничение таймаута, связанное с ключом, отменяется при успешном
выполнении операции `SET`.
Параметры:
- `EX` — установка указанного времени истечения срока действия в
секундах (целое положительное число)
- `PX` — установка указанного времени истечения в миллисекундах (целое
положительное число)
- `EXAT` — установка указанного времени Unix, в которое истекает срок
действия ключа, в секундах (целое положительное число)
- `PXAT` — установка указанного времени Unix, по истечении которого срок
действия ключа истечет, в миллисекундах (целое положительное число)
- `NX` — установка значение ключа только в том случае, если он еще
не существует
- `XX` — установка значение ключа только в том случае, если он уже
существует
- `KEEPTTL` — сохранить время жизни, связанное с ключом
- `GET` — возвращает старую строку, хранящуюся по адресу ключа, или
`nil`, если ключ не существовал. Возвращается ошибка и `SET`
прерывается, если значение, хранящееся по адресу ключа `key`, не
является строкой.
<!--
Частично поддерживаемые команды:
- cluster management:
- auth (no-op, always returns ok)
- scripting:
- eval (can't call redis functions at the moment)
-->
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment