iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Redis事务怎么用
  • 598
分享到

Redis事务怎么用

2024-04-02 19:04:59 598人浏览 泡泡鱼
摘要

小编给大家分享一下Redis事务怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!事务:127.0.0.1:6379>

小编给大家分享一下Redis事务怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

事务:
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> sadd "user:1:state" 1
QUEUED
127.0.0.1:6379> SADD "user:2:state" 2
QUEUED
127.0.0.1:6379> EXEC
1) (integer) 1
2) (integer) 1

由MULTI发起事务,后面的sadd命令来实现关注和被关注的操作,redis并没有执行这些命令,而是返回QUEUED表示这两条命令已经进入等待执行的事务队列中。
当exec之后告诉redis将等待的食物队列中的所有命令按照发送顺序依次执行。exec的返回值顺序和命令的顺序相同。


1.语法错误:
语法错误指命令不存在或者命令的参数个数不对,如下:
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> set name Mike
QUEUED
127.0.0.1:6379> errorcommand name
(error) ERR unknown command 'errorcommand'
127.0.0.1:6379> EXEC
(error) EXECABORT Transaction discarded because of previous errors.
由于存在不正确的命令,redis直接返回错误把整个事务discard了。它连语法正确的都不会执行,如下:
127.0.0.1:6379> MGET name
1) (nil)


2.运行错误:运行错误是命令执行时出现的错误,比如使用了错误命令操作数据类型。
这种错误redis会继续执行,redis无法发现错误。
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> set name hello
QUEUED
127.0.0.1:6379> SADD name 3
QUEUED
127.0.0.1:6379> SET name "abc"
QUEUED
127.0.0.1:6379> EXEC
1) OK
2) (error) WRONGTYPE Operation against a key holding the wrong kind of value
3) OK
127.0.0.1:6379> GET name
"abc"

这种错误只能依赖程序员去把握与检查错误。


WATCH命令:监控一个或多个键,一但其中某个键值被修改,之后的事务就不会执行。监控会一直持续到exec命令。
127.0.0.1:6379> SET key 1
OK
127.0.0.1:6379> WATCH key
OK
127.0.0.1:6379> SET key 2
OK
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> SET key 3
QUEUED
127.0.0.1:6379> EXEC
(nil)    // 返回nil,说明监视的ticket已经改变了,事务就取消了.
127.0.0.1:6379> GET key
"2"

发布/订阅 分别发布者和订阅者,订阅者可以订阅一个或者若干个频道,而发布者可以向指定的频道发布消息。所有订阅此频道的订阅者都会受到此消息
发布消息:
127.0.0.1:6379> PUBLISH newsChannel "Good morning news report"
(integer) 0
暂时没有订阅者返回为0

订阅消息:
127.0.0.1:6379> SUBSCRIBE newsChannel
Reading messages... (press Ctrl-C to quit)
1) "subscribe"    //subscribe 表示订阅成功的反馈。第二个值是成功订阅的频道名,第三个值是当前客户端订阅的频道数量。
如果是message 这个类型回复是我们关心的,表示接收到的消息,第二个值表示产生消息的频道名称。第三个值是消息的内容。
unsubscribe 取消订阅某个频道,第二个值是对应的频道名称,第三个值是当前客户端订阅的频道数量。
2) "newsChannel"
3) (integer) 1
利用publish 再次发布消息:
127.0.0.1:6379> PUBLISH newsChannel "News 2"
(integer) 1
订阅频道:
127.0.0.1:6379> SUBSCRIBE newsChannel
Reading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "newsChannel"
3) (integer) 1
^[[A1) "message"
2) "newsChannel"
3) "News 2"
可以按照正则表达式订阅多个频道:
127.0.0.1:6379> PSUBSCRIBE news*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "news*"
3) (integer) 1

PSUBSCRIBE去订阅以news开头任意字符结尾的频道.
127.0.0.1:6379> PSUBSCRIBE news*
Reading messages... (press Ctrl-C to quit)
1) "psubscribe"
2) "news*"
3) (integer) 1
1) "pmessage"
2) "news*"
3) "newsChannel"
4) "News 3"

以上是“Redis事务怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: Redis事务怎么用

本文链接: https://www.lsjlt.com/news/64904.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Redis事务怎么用
    小编给大家分享一下Redis事务怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!事务:127.0.0.1:6379> ...
    99+
    2024-04-02
  • redis事务有什么用
    这篇文章主要介绍了redis事务有什么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。是什么可以一次执行多个命令,本质是一组命令的集合。一个...
    99+
    2024-04-02
  • Redis 事务
    目录 Redis 事务一、Redis事务的概念:二、redis事务提出的逻辑:三、redis事务的基本操作四、事务的执行流程五、redis锁六、redis分布式锁 Redis 事务 一...
    99+
    2023-09-08
    redis 数据库 java
  • redis事务的用法
    这篇文章将为大家详细讲解有关redis事务的用法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Redis事务MULTI, EXEC, DISCARD and WATCH ...
    99+
    2024-04-02
  • Redis怎么实现事务操作
    Redis 实现事务操作的方式是使用 MULTI 和 EXEC 命令进行事务的开启和执行。 使用 MULTI 命令开启事务,表示后...
    99+
    2024-05-07
    Redis
  • Redis中事务是什么
    这篇文章主要介绍Redis中事务是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!相关命令命令格式作用返回结果WATCHWATCH key [key ...]将给出的Keys标记为...
    99+
    2024-04-02
  • Redis中的发布订阅和事务怎么使用
    本篇内容主要讲解“Redis中的发布订阅和事务怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis中的发布订阅和事务怎么使用”吧!发布订阅redis的发布订阅系统有点类似于我们生活中...
    99+
    2023-06-19
  • redis事务的使用示例
    这篇文章主要介绍了redis事务的使用示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先我们来简单介绍下redis事务的本质:  Red...
    99+
    2024-04-02
  • Redis事务机制是什么
    这篇文章主要介绍了Redis事务机制是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。了解Redis事务机制吗?redis 通过MULTI...
    99+
    2024-04-02
  • Redis事务和pipleline是什么
    小编给大家分享一下Redis事务和pipleline是什么,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!1、reidis事务Redis 事务可以一次执行多个命令, 并且带有以下三个重要的保证:...
    99+
    2024-04-02
  • redis演练(3) redis事务管理
    redis vs memcached。redis与memcached对比,redis不仅适合做缓存,而且可以做存储,这就有点数据库的影子了。说到数据库,事务是一个很重要的一个方面。数据库事务(简称:事务)是...
    99+
    2024-04-02
  • redis事务常用操作详解
    事务 MULTI 、 EXEC 、 DISCARD 和 WATCH 是 Redis 事务相关的命令。事务可以一次执行多个命令, 并且带有以下两个重要的保证: 事务是一个单独的隔离操作:事务中的所有命令都会...
    99+
    2024-04-02
  • Jedis使用Redis事务的方法是什么
    本篇内容主要讲解“Jedis使用Redis事务的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Jedis使用Redis事务的方法是什么”吧!什么是Jedis什么是Jedis 是Redi...
    99+
    2023-07-05
  • redis能用来做什么事情
    了解redis能用来做什么事情?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!Redis是一个开源的使用ANSI C语言编写...
    99+
    2024-04-02
  • 你了解Redis事务吗
    目录前言ACID属性说明原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)Redis如何实现事务实现原理事务相关命...
    99+
    2022-11-13
    Redis 事务
  • Redis事务指的是什么意思
    Redis事务是一组命令的集合,这些命令可以单独的操作来执行。在Redis中,事务是一种原子操作,要么所有命令都执行成功,要么所有命...
    99+
    2024-03-11
    Redis
  • Redis事务支持ACID吗
    小编给大家分享一下Redis事务支持ACID吗,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!什么是事务的 ACID鬼吹灯之《云南...
    99+
    2024-04-02
  • redis能够用来做什么事情
    小编给大家分享一下redis能够用来做什么事情,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Redis 是互联网技术领域使用最为...
    99+
    2024-04-02
  • Redis事务为什么不支持回滚
    目录前言Redis 有事务吗Redis 事务实现原理Redis 事务 ACID 特性A - 原子性 C - 一致性I - 隔离性D - 持久性watch 命令watch 命...
    99+
    2024-04-02
  • redis实现事务的原理是什么
    这篇文章主要介绍redis实现事务的原理是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!原子性(atomicity):一个事务是一个不可分割的最小工作单位,要么都成功要么都失败。...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作