【数据库】2.redis相关知识_事务(四)

Redis事务

  • Redis事务可以一次执行多个命令

    • 多个命令可以在执行EXEC命令之前放入缓存队列
    • 收到EXEC命令后会将缓存队列执行
    • 在执行事务的过程中,新提交的并不能被插入到事务执行序列中
    • DISCARD可以取消事务,放弃执行事务块内的所有命令
    • Redis事务不是原子性的:因为单个Redis命令的执行是原子性的,但由于Redis没有在事务上增加任何维持原子性的机制,所以Redis事务不是原子性的
    • Redis事务可以理解为一个打包的批量执行脚本,但批量指令并非原子化的操作,中间某条指令的失败不会导致前面已做执行的回滚,也不会造成后续的指令不做
  • 举例:

	127.0.0.1:6379> MULTI  //代表后面的语句都会放入到缓存中,暂时不执行
	OK 
	127.0.0.1:6379> SET account1 1
	QUEUED //放入了缓存队列中
	127.0.0.1:6379> SET account2 1
	QUEUED
	127.0.0.1:6379> GET account1
	QUEUED
	127.0.0.1:6379> EXEC //退出事务默认,开始执行缓存队列,当没有退出事务的时候,别的客户端来GET account1,也是获取不到的,会返回(nil),就是空的意思
	1) OK
	2) OK
	3) "1"	

Redis事务在node中的应用

	const redis = require("redis");
	let client = redis.createClient(6379,"127.0.0.1");
	client.multi().hset("user2","name","yuhua").hset("user2","age",18).exec(redis.print);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值