连库命令:
【默认连6379 0 号库】:redis-cli
【指定连6380端口的redis服务】:redis-cli -p 6380
【指定连6380端口 8号库的redis服务】: redis-cli -p 6380 -n 8
登录之后
输入 help @generic
(@之后会自动补全)常用的:
del ,exists,expire,keys ,move,object,persist,pexpire,type
eg:
查库里有哪些key: keys *
清空库里所有key(谨慎操作):flushdb / flushall
一、String
1)、set
给字符串赋值:set k1 hello
取值:get k1
查询set命令用法:help set
根据用法可以知道下图
nx 作用:只能新建
k1没有值的时候才能赋值成功,如果k1已经有值,则不能对k1进行赋值。【适用场景:分布式锁,许多人,谁能赋值成功,则谁抢占了锁】
xx的作用:只能更新
k1有值的时候,才能更新成功
2)、getset
发送一次get再发送一次set,使用该命令,相当于只发一个包,减少io请求:getset k1 mm
3)、msetnx 给多个元素赋值,原子操作
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> keys *
(empty list or set)
给k1, k2赋值
127.0.0.1:6379> msetnx k1 a k2 b
(integer) 1
127.0.0.1:6379> mget k1 k2
1) "a"
2) "b"
更新k2的值,给k3赋值 ,nx只能给没有值的元素赋值成功,下面操作失败,msetnx是原子操作,所以k3赋值失败
127.0.0.1:6379> msetnx k2 c k3 d
(integer) 0
127.0.0.1:6379> mget k1 k2 k3
1) "a"
2) "b"
3) (nil)