Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Транзакції | Розширені Можливості та Безпека
Вступ до Redis

bookТранзакції

Усі команди в межах транзакції виконуються одночасно. Якщо одна з команд зазнає невдачі, жодна з них не буде виконана. Це гарантує цілісність даних, запобігаючи частковим або некоректним змінам, навіть якщо виникають помилки.

Використання транзакцій

Транзакції зазвичай застосовуються, коли необхідно виконати кілька операцій з даними разом, наприклад, збільшення лічильника та запис пов’язаних даних до іншого ключа. Використання транзакцій гарантує, що або всі операції будуть завершені, або жодна, зберігаючи цілісність даних.

Основні команди для транзакцій

Щоб розпочати транзакцію в Redis, використовуйте команду MULTI. Це повідомляє Redis, що всі наступні команди повинні бути частиною транзакції.

Після виконання MULTI Redis додає в чергу команди, які ви хочете включити до транзакції.

MULTI
SET key1 "value1"
SET key2 "value2"

У цьому прикладі команди SET key1 "value1" та SET key2 "value2" не виконуються негайно. Натомість вони додаються до черги транзакції та виконуються разом після виклику команди EXEC.

Виконання транзакції

Для виконання всіх команд у транзакції використовується команда EXEC. Вона запускає кожну заплановану команду у транзакції.

EXEC

Після виклику EXEC, обидві операції SET будуть виконані.

Скасування транзакції

Якщо потрібно скасувати транзакцію до її виконання, використовуйте команду DISCARD. Це очищує всі команди у черзі транзакції, гарантуючи, що вони не будуть виконані.

DISCARD

Після виклику DISCARD усі команди, додані до транзакції після MULTI, будуть скасовані та не виконані.

Моніторинг ключів під час транзакції

Під час транзакції команди ставляться в чергу, але не виконуються негайно. Команда WATCH може використовуватися для моніторингу певних ключів. Якщо будь-який із цих ключів буде змінено до виконання транзакції, транзакція буде скасована для запобігання конфліктам даних.

WATCH key1
MULTI
SET key1 "new_value"
EXEC

У цьому прикладі, якщо значення key1 зміниться до виклику команди EXEC, транзакція не буде виконана. Це забезпечує цілісність даних, особливо коли декілька клієнтів намагаються змінити той самий ключ одночасно.

1. Що відбувається, якщо одна з команд у транзакції Redis завершується невдачею?

2. Яку команду слід використовувати для початку транзакції в Redis?

question mark

Що відбувається, якщо одна з команд у транзакції Redis завершується невдачею?

Select the correct answer

question mark

Яку команду слід використовувати для початку транзакції в Redis?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 2

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

Can you explain the difference between MULTI, EXEC, DISCARD, and WATCH in more detail?

How does the WATCH command help prevent data conflicts in Redis transactions?

Can you give a real-world example of when to use a Redis transaction?

Awesome!

Completion rate improved to 3.33

bookТранзакції

Свайпніть щоб показати меню

Усі команди в межах транзакції виконуються одночасно. Якщо одна з команд зазнає невдачі, жодна з них не буде виконана. Це гарантує цілісність даних, запобігаючи частковим або некоректним змінам, навіть якщо виникають помилки.

Використання транзакцій

Транзакції зазвичай застосовуються, коли необхідно виконати кілька операцій з даними разом, наприклад, збільшення лічильника та запис пов’язаних даних до іншого ключа. Використання транзакцій гарантує, що або всі операції будуть завершені, або жодна, зберігаючи цілісність даних.

Основні команди для транзакцій

Щоб розпочати транзакцію в Redis, використовуйте команду MULTI. Це повідомляє Redis, що всі наступні команди повинні бути частиною транзакції.

Після виконання MULTI Redis додає в чергу команди, які ви хочете включити до транзакції.

MULTI
SET key1 "value1"
SET key2 "value2"

У цьому прикладі команди SET key1 "value1" та SET key2 "value2" не виконуються негайно. Натомість вони додаються до черги транзакції та виконуються разом після виклику команди EXEC.

Виконання транзакції

Для виконання всіх команд у транзакції використовується команда EXEC. Вона запускає кожну заплановану команду у транзакції.

EXEC

Після виклику EXEC, обидві операції SET будуть виконані.

Скасування транзакції

Якщо потрібно скасувати транзакцію до її виконання, використовуйте команду DISCARD. Це очищує всі команди у черзі транзакції, гарантуючи, що вони не будуть виконані.

DISCARD

Після виклику DISCARD усі команди, додані до транзакції після MULTI, будуть скасовані та не виконані.

Моніторинг ключів під час транзакції

Під час транзакції команди ставляться в чергу, але не виконуються негайно. Команда WATCH може використовуватися для моніторингу певних ключів. Якщо будь-який із цих ключів буде змінено до виконання транзакції, транзакція буде скасована для запобігання конфліктам даних.

WATCH key1
MULTI
SET key1 "new_value"
EXEC

У цьому прикладі, якщо значення key1 зміниться до виклику команди EXEC, транзакція не буде виконана. Це забезпечує цілісність даних, особливо коли декілька клієнтів намагаються змінити той самий ключ одночасно.

1. Що відбувається, якщо одна з команд у транзакції Redis завершується невдачею?

2. Яку команду слід використовувати для початку транзакції в Redis?

question mark

Що відбувається, якщо одна з команд у транзакції Redis завершується невдачею?

Select the correct answer

question mark

Яку команду слід використовувати для початку транзакції в Redis?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 4. Розділ 2
some-alt