(1)
set:设置键值对
get:取值
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set k1 v100
OK
127.0.0.1:6379> set k2 v200
OK
127.0.0.1:6379> keys *
1) "k2"
2) "k1"
127.0.0.1:6379> get k1
"v100"
127.0.0.1:6379> get k2
"v200"
127.0.0.1:6379> set k1 v1000
OK
127.0.0.1:6379> get k1
"v1000"
(2)
append < key> < value>:将给定的< value >追加到原值的末尾。
127.0.0.1:6379> append k1 abc
(integer) 8
127.0.0.1:6379> get k1
"v1000abc"
(3)
strlen < key >:获得值得长度
127.0.0.1:6379> strlen k1
(integer) 8
(4)
setnx < key >< value >只在key不存在时,设置key的值。
127.0.0.1:6379> setnx k1 v1
(integer) 0
127.0.0.1:6379> setnx k3 v300
(integer) 1
(5)
incr < key > : 将key中存储的数字值增1。只能对数字值操作,如果为空,新增值为1
decr < key > :将key中存储的数字值减1。只能对数字值操作,如果为空,新增值为-1
127.0.0.1:6379> set k4 1
OK
127.0.0.1:6379> incr k4
(integer) 2
127.0.0.1:6379> get k4
"2"
127.0.0.1:6379> decr k4
(integer) 1
127.0.0.1:6379> get k4
"1"
(6)
incrby / decrby < key > < 步长 > 将key中存储的数字值增减。自定义步长。
127.0.0.1:6379> set k4 5
OK
127.0.0.1:6379> get k4
"5"
127.0.0.1:6379> incrby k4 10
(integer) 15
127.0.0.1:6379> decrby k4 10
(integer) 5
(7)
mset < key1 > < value1> < key2 > < value2>…
同时设置一个或多个key-value对。
mget < key1> < key2 > < key3 >…
注意:
这个操作是要保持原子性的。所谓原操作,是指不会被线程调度机制打断的操作;
这种操作一旦开始,就一直运行到结束,中间不会切换到另一个线程。
在单线程中,能够在单条指令中完成的操作都可以认为是“原子操作”。
在多线程中,不能被其他进程(线程)打断的操作就叫原子操作。
Redis单命令的原子性主要得益于Redis的单线程。
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> mset k1 v1 k2 v2
OK
127.0.0.1:6379> keys *
1) "k2"
2) "k1"
127.0.0.1:6379> mget k1 k2
1) "v1"
2) "v2"
(8)
msetnx < key1> < value1> < key2> < value2>…
同时设置一个或多个key-value对,当且仅当所有给定key都不存在。
且也具有原子性,有一个失败则都失败。
127.0.0.1:6379> msetnx k11 v11 k1 v1
(integer) 0
127.0.0.1:6379> keys *
1) "k2"
2) "k1"
127.0.0.1:6379> msetnx k11 v11 k22 v22
(integer) 1
127.0.0.1:6379> keys *
1) "k2"
2) "k11"
3) "k22"
4) "k1"
(9)
getrange < key> < 开始位置 > < 结束位置 >
获取值的范围,相当于substr()。
127.0.0.1:6379> set name abcde
OK
127.0.0.1:6379> getrange name 0 3
"abcd"
(10)
setrange < key > < 起始位置> < value >
用< value >覆写 < key >所存储的字符串值,从< 起始位置 > 开始(索引从0开始)。
127.0.0.1:6379> setrange name 0 xyz
(integer) 5
127.0.0.1:6379> get name
"xyzde"
(11)
getset < key > < value >
以新换旧,设置了新值同时获得旧值。
127.0.0.1:6379> get k1
"v1"
127.0.0.1:6379> getset k1 v11
"v1"
127.0.0.1:6379> get k1
"v11"
(12)
setex < key > < 过期时间> < value >
设置键值的同时,设置过期时间,单位秒。
设置一个key-value后,ttl查看过期时间,-2表示已过期。
127.0.0.1:6379> setex k5 10 100
OK
127.0.0.1:6379> ttl k5
(integer) 7
127.0.0.1:6379> ttl k5
(integer) 3
127.0.0.1:6379> ttl k5
(integer) -2
领取专属 10元无门槛券
私享最新 技术干货