redis的事务是基于队列实现的。 mysql的事务是基于事务日志和锁机制实现的。 redis是乐观锁机制。 开启事务功能时(multi),语句作为一个组,并没有真正执行,而是被放入同一队列中。 如果,这是执行discard,会直接丢弃队列中所有的命令,而不是做回滚。 当执行exec时,对列中所有操作,要么全成功要么全失败 127.0.0.1:6379> multi 开始 OK 127.0.0.1:6379> set a 1 QUEUED 127.0.0.1:6379> set a 2 QUEUED 127.0.0.1:6379> exec 结束 1) OK 2) OK 127.0.0.1:6379> multi OK 127.0.0.1:6379> set a 1 QUEUED 127.0.0.1:6379> set a 2 QUEUED 127.0.0.1:6379> discard 取消对列 OK
redis乐观锁实现(模拟买票)
服务器管理命令
Info Client list Client kill ip:port config get * CONFIG RESETSTAT 重置统计 CONFIG GET/SET 动态修改 Dbsize FLUSHALL 清空所有数据 select 1 FLUSHDB 清空当前库 MONITOR 监控实时指令 SHUTDOWN 关闭服务器 关闭数据库: redis-cli -a root shutdown