127.0.0.1:6379> GET counter1
"1"127.0.0.1:6379> GET counter2
"1"127.0.0.1:6379> WATCH counter1 counter2 //监控这两个键
OK
127.0.0.1:6379> MULTI //标记事务块的开始
OK
127.0.0.1:6379> INCR counter1
QUEUED
127.0.0.1:6379> INCR counter2
QUEUED
//在执行EXEC命令之前,打开另一个客户端修改counter1的值127.0.0.1:6379> GET counter1
"1"127.0.0.1:6379> SET counter1 100
OK
127.0.0.1:6379> GET counter1
"100"//返回执行事务的客户端,执行EXEC命令127.0.0.1:6379> EXEC
(nil) //EXEC命令执行失败,因为被监控的键被修改127.0.0.1:6379> GET counter1
"100"//counter1值被另一个客户端修改为100127.0.0.1:6379> GET counter2
"1"//counter2的值不变
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
127.0.0.1:6379> MULTI //正常执行事务
OK
127.0.0.1:6379> INCR counter1
QUEUED
127.0.0.1:6379> INCR counter2
QUEUED
127.0.0.1:6379> EXEC //键值都被修改1) (integer) 1012) (integer) 2127.0.0.1:6379> UNWATCH //取消被监控的键
OK
1
2
3
4
5
6
7
8
9
10
11
DISCARD
取消一个事务中所有在排队等待的指令,并且将连接状态恢复到正常。
如果已使用WATCH,DISCARD将释放所有被WATCH的key。
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379>SET counter4 10
QUEUED
127.0.0.1:6379> INCR counter4
QUEUED
127.0.0.1:6379> DISCARD //取消所有的事务
OK
127.0.0.1:6379> EXISTS counter4 //counter4不存在因为事务被取消
(integer) 0
127.0.0.1:6379> MULTI
OK
127.0.0.1:6379> SET key 1
QUEUED
127.0.0.1:6379> SADD key 2 //散列类型的命令操作集合类型的键出现运行错误。
QUEUED
127.0.0.1:6379> SET key 3 //错误之后的命令依然会继续执。
QUEUED
127.0.0.1:6379> EXEC
1) OK
2) (error) WRONGTYPE Operation against a key holding the wrong kind ofvalue3) OK
127.0.0.1:6379> GET key //键值被错误命令之后的命令修改"3"
127.0.0.1:6379> CONFIG SET requirepass menwen //设置密码
OK
127.0.0.1:6379> GET test //需要验证
(error) NOAUTH Authentication required.127.0.0.1:6379> AUTH errorpasswd //验证失败
(error) ERR invalid password
127.0.0.1:6379> AUTH menwen //验证成功
OK
127.0.0.1:6379> GET test //可以查看键值"this is a test"//或者在登录时指定-a选项加密码就直接能够验证,如下:
➜ ~ redis-cli-a menwen
127.0.0.1:6379> GET test
"this is a test"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
SELECT
选择一个数据库,下标值从0开始,一个新连接默认连接的数据库是DB0。
127.0.0.1:6379> SELECT1//默认为数据库0
OK
127.0.0.1:6379[1]> SELECT2//切换到数据库1
OK
127.0.0.1:6379[2]> SELECT0
OK