首页 > 数据库 >redis事务

redis事务

时间:2023-06-28 16:00:53浏览次数:34  
标签:事务 队列 redis 命令 监视 执行

1.概念

redis的事务本质是一组命令的集合,事务支持一次执行多个命令,一个事务中所有的命令都会被序列化。
在事务执行的过程中,会按照顺序串行执行队列中的命令,其他客户端提交的命令请求不会插入到当前的事务中
redis的事务就是一次性、顺序性、排他性的执行一个队列中的一系列命令
redis的事务没有隔离级别的概念
因为是批量操作的原因,所以没有办法进行隔离。在发送exec(提交事务的意思)之前所执行的队列都会放到缓存中,并不会被实际执行。
redis是不保证原子性
redis中,单条命令是原子性执行的,但是事务不保证原子性,并且没有回滚,事务中任意命令执行失败,其余的命令任然会执行。
redis的事务分为三个阶段:开始事务,命令入列,执行事务
事务命令

watch key1 key2 #监视一个或者多个key,如果在开始事务执行之前,被监视的key
被其他的命令改动,则事务被打断,有点像乐观锁 监视事务
multi #开始事务
exec #提交事务
unwatch #取消监视
discard #取消事务,放弃事务中所有的命令

2.使用

  • 正常执行
  • 取消事务
  • 存在命令性错误(编译错误),都不执行
  • 语法性错误,其他会执行
  • watch监控



标签:事务,队列,redis,命令,监视,执行
From: https://www.cnblogs.com/lwx11111/p/17511644.html

相关文章

  • redis之python操作
    安装pipinstallredisredis连接池概念连接管理:使用连接池可以有效地管理Redis连接。连接池会在应用程序初始化时创建一定数量的连接,并维护这些连接的可用性。应用程序可以从连接池中获取连接并使用完后将其归还给连接池,从而避免了频繁地创建和关闭连接。这样可以提高连接......
  • redis配置文件
    1)绑定的ip地址,多个ip用空格隔开bind127.0.0.12)端口,默认6379,一般不做修改port63793)是否以守护进程启动,默认为no,一般改为yes代表后台启动(windows系统不支持)daemonizeno4)定义日志级别,默认值为notice,有如下4种取值:debug(记录大量日志信息,适用于开发、测试阶段)verbose(较多日......
  • redis下载安装
    https://github.com/tporadowski/redis/releases  ......
  • sql server 事务处理模板
    sqlserver事务处理模板setxact_abortonbegintrybegintran--这里写你自己的sqlcommittranendtrybegincatchif(xact_state())=-1beginrollbacktranendif(......
  • Linux下安装Redis
    1.将压缩包转入到服务器2.解压tar-zxvfredis-5.0.7.tar.gz3.cd到解压后的目录make4.make结束后makeinstall5.备份文件mkdirmyrediscpredis.confmyredis6.修改文件将daemonize设置成yes按i编辑esc退出编辑:wq保存退出编辑模式vimredis.confredis.conf中......
  • 基于Redis的消息发布和订阅(广播模式)
    最近在优化一个redis的大key问题,原先的同事写法是将所有的配置都放在一个key里面,value是一个map.但是随着配置越来越多,这个map也变得很大,已经影响redis的性能.遂决定将map里面的每个配置单独出来一个key,当有配置变动的时候,通过redis的消息队列通知到其他程序.下面......
  • 08 | 事务到底是隔离的还是不隔离的?
    08|事务到底是隔离的还是不隔离的?事务启动时机事务启动时机:begin/starttransaction命令并不是一个事务的起点,在执行到它们之后的第一个操作InnoDB表的语句,事务才真正启动。如果想要马上启动,可以使用starttransactionwithconsistentsnapshot这个命令。两者不同:......
  • redis压缩列表ziplist
     压缩列表(ziplist)是Redis的一种内存紧凑型的数据结构,它是一个字节数组,可以包含任意多个元素,每个元素可以是一个字节数组或一个整数。压缩列表的结构由多个字段组成,包括zlbytes(压缩列表的字节长度),zltail(压缩列表尾元素的偏移量),zllen(压缩列表的元素数目),entryX(压缩列表存储的......
  • redis介绍和安装,redis普通链接和连接池,redis字符串类型,redis hash类型
    1Redis介绍和安装#Redis:软件,存储数据的,速度非常快,redis是一个key-value存储系统(没有表的概念),cs架构的软件 -服务端客户端(python作为客户端,java,go,图形化界面,命令窗口的命令)#es:存数据的地方#关系型数据库和非关系型数据库 -关系型:mysql,PostgreSQL,oracle,sqlserver,db2......
  • Redis
    Redis介绍:redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sortedset--有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原......