ps -ef |grep redis
redis-cli
默认是进入第1个(下标为0)redis数据库
keys *
这个数据库的值太多,我们去第2个(下标为1)数据库
select 1
设置几个值
SET key value [EX seconds] [PX milliseconds] [NX|XX]
将字符串值 value 关联到 key 。 如果 key 已经持有其他值, SET 就覆写旧值, 无视类型。 当 SET 命令对一个带有生存时间(TTL)的键进行设置之后, 该键原有的 TTL 将被清除。
set k1 v1
set k2 v2
查看刚设置的值
GET key
如果键 key 不存在, 那么返回特殊值 nil ; 否则, 返回键 key 的值。 如果键 key 的值并非字符串类型, 那么返回一个错误, 因为 GET 命令只能用于字符串值。
get k1
get k2
查看当前库中所有的key
keys *
删除 k1
del key
del k1
追加值
APPEND key value
如果键 key 已经存在并且它的值是一个字符串, APPEND 命令将把 value 追加到键 key 现有值的末尾。 如果 key 不存在, APPEND 就简单地将键 key 的值设为 value , 就像执行 SET key value 一样。
append k2 123
查看追加之后的值
新加k1
set k1 1
为键 key 储存的数字值加上一。 如果键 key 不存在, 那么它的值会先被初始化为 0 , 然后再执行 INCR 命令。 如果键 key 储存的值不能被解释为数字, 那么 INCR 命令将返回一个错误。 本操作的值限制在 64 位(bit)有符号数字表示之内。
INCR 命令会返回键 key 在执行加一操作之后的值。 将k1+1
incr k1
get k1
INCRBY key increment
在加上增量 increment 之后, 键 key 当前的值。
incrby k1 2
decrby key decrement
DECRBY 命令会返回键在执行减法操作之后的值
decrby k1 1
GETRANGE key start end
GETRANGE 命令会返回字符串值的指定部分
getrange k2 0 2
getrange k2 0 -1
SETRANGE key offset value
SETRANGE 命令会返回被修改之后, 字符串值的长度
setrange k2 2 hello
SETEX key seconds value
将键 key 的值设置为 value , 并将键 key 的生存时间设置为 seconds 秒钟。
先新加个k3
setex k1 20 1111
再查看生存时间
ttl k3
可以看到,生存时间到了之后,这个键就会被清除。
SETNX key value
只在键 key 不存在的情况下, 将键 key 的值设置为 value 。 若键 key 已经存在, 则 SETNX 命令不做任何动作。 SETNX 是『SET if Not eXists』(如果不存在,则 SET)的简写
设置个不存在的
setnx k1 1111
设置个存在的,可以看到。失败了
MSET key value [key value …]
为多个键设置值。 如果某个给定键已经存在, 那么 MSET 将使用新值去覆盖旧值, 如果这不是你所希望的效果, 请考虑使用 MSETNX 命令, 这个命令只会在所有给定键都不存在的情况下进行设置。 MSET 是一个原子性(atomic)操作, 所有给定键都会在同一时间内被设置, 不会出现某些键被设置了但是另一些键没有被设置的情况。
mset k4 aaa k5 666 k6 fff
MGET key [key …]
返回给定的一个或多个字符串键的值。 如果给定的字符串键里面, 有某个键不存在, 那么这个键的值将以特殊值 nil 表示。
mget k4 k5 k6
GETSET key value
将键 key 的值设为 value , 并返回键 key 在被设置之前的旧值。