开心一笑
别人说我心狠手辣,我舔了一下自己的手,给辣哭了。。。
视频教程
大家好,我录制的视频《Java之优雅编程之道》已经在CSDN学院发布了,有兴趣的同学可以购买观看,相信大家一定会收获到很多知识的。谢谢大家的支持……
视频地址:http://edu.csdn.net/lecturer/994
提出问题
Redis事务如何实现???
解决问题
例一:Redis事务简单用法
127.0.0.1:6379> keys *
1) "MyRedis"
#事务开始
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set MyRedis "change MyRedis one"
#命令会加入队列中
QUEUED
127.0.0.1:6379> set MyRedis "change MyRedis two"
#命令会加入队列中
QUEUED
#事务结束
127.0.0.1:6379> exec
1) OK
2) OK
127.0.0.1:6379> get MyRedis
"change MyRedis two"
例二:如果Redis事务中,EXEC调用之后失败出现的错误
127.0.0.1:6379> set ay_test "one"
OK
#事务开始
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set ay_test "two"
QUEUED
127.0.0.1:6379> set ay_test "three"
QUEUED
#sadd 这里会出现错误
127.0.0.1:6379> sadd ay_test "four"
QUEUED
127.0.0.1:6379> set ay_test "five"
QUEUED
127.0.0.1:6379> exec
1) OK
2) OK
3) (error) WRONGTYPE Operation against a key holding the wrong kind of value
4) OK
127.0.0.1:6379> get ay_test
"five"
127.0.0.1:6379>
例三:语法错误的情况,这时,事务里的所有命令都不会执行
127.0.0.1:6379> set ay_test "one"
OK
127.0.0.1:6379> multi
OK
127.0.0.1:6379> set ay_test "two"
QUEUED
127.0.0.1:6379> set ay_test "three"
QUEUED
127.0.0.1:6379> st ay_test "four"
(error) ERR unknown command 'st'
127.0.0.1:6379> st ay_test "five"
(error) ERR unknown command 'st'
127.0.0.1:6379> set ay_test "six"
QUEUED
127.0.0.1:6379> set ay_test "seven"
QUEUED
127.0.0.1:6379> exec
(error) EXECABORT Transaction discarded because of previous errors.
127.0.0.1:6379> get ay_test
"one"
读书感悟
来自《肖申克救赎》
- 人生可以归结为一种简单的选择:不是忙着活,就是忙着死。
- 有的鸟是不会被关住的,因为它们的羽毛太美丽了!
- 看了这部电影我与信念、自由、友谊交了朋友。
其他
如果有带给你一丝丝小快乐,就让快乐继续传递下去,欢迎转载,点赞,顶,欢迎留下宝贵的意见,多谢支持!