Redis SET 命令 SET KEY_NAME VALUE
Redis SET 命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。
redis
redis
127.0.0.1:6379> set key 'value'
OK
127.0.0.1:6379> get key
"value"
127.0.0.1:6379> set key 'new-value'
OK
127.0.0.1:6379> get key
"new-value"
设定一个不存在的key时,若成功,返回OK;设定一个已经存在的key时,用新的value覆盖旧的value,若成功,
返回OK。
Redis Get 命令 GET KEY_NAME
Redis Get 命令用于获取指定 key 的值。如果 key 不存在,返回 nil 。如果key 储存的值不是字符串类型,返回一个错误。
redis
redis
127.0.0.1:6379> get db
(nil)
127.0.0.1:6379> set db 'mongodb'
OK
127.0.0.1:6379> get db
"mongodb"
127.0.0.1:6379> del db
(integer) 1
127.0.0.1:6379> get db
(nil)
127.0.0.1:6379> lpush db 'mysql' 'mongodb'
(integer) 2
127.0.0.1:6379> get db
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> type db
list
get不存在的key时,返回nil;
get存在的key时,返回key的值;
get非string的key,返回一个错误。
Redis Getrange 命令 GETRANGE KEY_NAME start end
Redis Getrange 命令用于获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。
redis
redis
127.0.0.1:6379> set mykey 'this is my test key'
OK
127.0.0.1:6379> get mykey
"this is my test key"
127.0.0.1:6379> getrange mykey 0 3
"this"
127.0.0.1:6379> getrange mykey 0 1
"th"
127.0.0.1:6379> getrange mykey 1 1
"h"
127.0.0.1:6379> getrange mykey 1 2
"hi"
start和end都是字符串的坐标,且从0开始计数。
Redis Getset 命令 GETSET KEY_NAME VALUE
Redis Getset 命令用于设置指定 key 的值,并返回 key 旧的值。
redis
redis
127.0.0.1:6379> Getset ggh
(error) ERR wrong number of arguments for 'getset' command
127.0.0.1:6379> Getset ggh 'cg'
(nil)
127.0.0.1:6379> Getset mykey 'this is mykey to test Getset'
"this is my test key"
127.0.0.1:6379> get mykey
"this is mykey to test Getset"
127.0.0.1:6379> lpush mykey 'hi' 'hello'
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> del mykey
(integer) 1
127.0.0.1:6379> exists mykey
(integer) 0
127.0.0.1:6379> lpush mykey 'hi' 'hello'
(integer) 2
127.0.0.1:6379> exists mykey
(integer) 1
127.0.0.1:6379> Getset mykey 'a'
(error) WRONGTYPE Operation against a key holding the wrong kind of value
Getset 不存在的key时,返回nil;
Getset成功时候,新value会覆盖旧value,返回旧value;
Getset非string key时,返回错误。
Redis Getbit 命令 GETBIT KEY_NAME OFFSET
Redis Getbit 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
redis
redis
127.0.0.1:6379> exists bit
(integer) 0
127.0.0.1:6379> GETBIT bit 10086
(integer) 0
127.0.0.1:6379> SETBIT bit 10086 1
(integer) 0
127.0.0.1:6379> GETBIT bit 10086
(integer) 1
127.0.0.1:6379> keys *
1) "key"
2) "bit"
3) "mykey"
4) "ggh"
5) "db"
127.0.0.1:6379> get bit
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02"
不理解。
Redis Mget 命令 MGET KEY1 KEY2 .. KEYN
Redis Mget 命令返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。
redis
redis
127.0.0.1:6379> keys *
1) "key"
2) "bit"
3) "mykey"
4) "ggh"
5) "db"
127.0.0.1:6379> Mget key mykey db cg2
1) "value"
2) (nil)
3) (nil)
4) (nil)
127.0.0.1:6379> get mykey
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> get db
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> type db
list
127.0.0.1:6379> get cg2
(nil)
如果给定的key里面,有某个key不存在,或某个key是非string,那这个key返回nil。
Redis Setbit 命令 Setbit KEY_NAME OFFSET
Redis Setbit 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
redis
redis
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> SETBIT bit 10086 1
(integer) 0
127.0.0.1:6379> keys *
1) "bit"
127.0.0.1:6379> GETBIT bit
(error) ERR wrong number of arguments for 'getbit' command
127.0.0.1:6379> GETBIT bit 10086
(integer) 1
127.0.0.1:6379> GETBIT bit 100
(integer) 0
不理解。
Redis Setex 命令 SETEX KEY_NAME TIMEOUT VALUE
Redis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。
redis
redis
127.0.0.1:6379> keys *
1) "bit"
127.0.0.1:6379> SETEX bit 60 'hi'
OK
127.0.0.1:6379> ttl bit
(integer) 54
127.0.0.1:6379> ttl bit
(integer) 50
127.0.0.1:6379> get bit
"hi"
127.0.0.1:6379> setex cg 60 'g'
OK
127.0.0.1:6379> ttl cg
(integer) 53
127.0.0.1:6379> ttl cg
(integer) 50
Redis Setnx 命令 SETNX KEY_NAME VALUE
Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。
redis
redis
127.0.0.1:6379> exists job
(integer) 0
127.0.0.1:6379> setnx job 'programmer'
(integer) 1
127.0.0.1:6379> exists job
(integer) 1
127.0.0.1:6379> setnx job 'code-farmer'
(integer) 0
127.0.0.1:6379> get job
"programmer"
当key不存在时,setnx设置key成功,返回1;
当key存在时,setnx设置key失败,返回0。
Redis Setrange 命令 SETRANGE KEY_NAME OFFSET VALUE
Redis Setrange 命令用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。
redis
redis
127.0.0.1:6379> set key1 'hello,world'
OK
127.0.0.1:6379> setrange key1 6 'redis'
(integer) 11
127.0.0.1:6379> get key1
"hello,redis"
127.0.0.1:6379> setrange key1 1 'cg'
(integer) 11
127.0.0.1:6379> get key1
"hcglo,redis"
offset从0计数,覆盖与value相等的位数字符串。
Redis Strlen 命令 STRLEN KEY_NAME
Redis Strlen 命令用于获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。
redis
redis
127.0.0.1:6379> keys *
1) "key1"
2) "job"
127.0.0.1:6379> strlen key1
(integer) 11
127.0.0.1:6379> strlen cg
(integer) 0
127.0.0.1:6379> strlen job
(integer) 10
127.0.0.1:6379> lpush db 'm'
(integer) 1
127.0.0.1:6379> type db
list
127.0.0.1:6379> strlen db
(error) WRONGTYPE Operation against a key holding the wrong kind of value
strlen不存在的key时,返回0;
strlen非string的key时,返回错误。
Redis Mset 命令 MSET key1 value1 key2 value2 .. keyN valueN
Redis Mset 命令用于同时设置一个或多个 key-value 对。
redis
redis
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> mset key1 'cg' key2 'cg2' key3 'cg3'
OK
127.0.0.1:6379> keys *
1) "key3"
2) "key2"
3) "key1"
127.0.0.1:6379> get key3
"cg3"
最后的key,排在最前面。
Redis Msetnx 命令 MSETNX key1 value1 key2 value2 .. keyN valueN
Redis Msetnx 命令用于所有给定 key 都不存在时,同时设置一个或多个 key-value 对。
redis
redis
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> MSETNX rmdbs 'mysql' nosql 'mongodb' key-value-store 'redis'
(integer) 1
127.0.0.1:6379> keys *
1) "key-value-store"
2) "nosql"
3) "rmdbs"
127.0.0.1:6379> MSETNX rmdbs 'Sqlite' language 'python'
(integer) 0
127.0.0.1:6379> keys *
1) "key-value-store"
2) "nosql"
3) "rmdbs"
MSETNX是原子操作,只要一个key操作失败,所有的key都将操作失败。
Redis Psetex 命令 PSETEX key1 EXPIRY_IN_MILLISECONDS value1
Redis Psetex 命令以毫秒为单位设置 key 的生存时间。
redis
redis
127.0.0.1:6379> PSETEX mykey 9000 'hi'
OK
127.0.0.1:6379> PTTL mykey
(integer) 6312
127.0.0.1:6379> PTTL mykey
(integer) 4248
127.0.0.1:6379> PTTL mykey
(integer) 3032
127.0.0.1:6379> PTTL mykey
(integer) 1896
127.0.0.1:6379> PTTL mykey
(integer) 888
127.0.0.1:6379> PTTL mykey
(integer) -2
Redis Incr 命令 INCR KEY_NAME
Redis Incr 命令将 key 中储存的数字值增一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。 (这句不懂)
redis
redis
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set page_view 200
OK
127.0.0.1:6379> INCR page_view
(integer) 201
127.0.0.1:6379> get page_view
"201"
127.0.0.1:6379> INCR num
(integer) 1
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> INCR num
(integer) 2
127.0.0.1:6379> get num
"2"
127.0.0.1:6379> lpush db 'mysql' 'sqlite
Invalid argument(s)
127.0.0.1:6379> lpush db 'mysql' 'sqlite'
(integer) 2
127.0.0.1:6379> INCR db
(error) WRONGTYPE Operation against a key holding the wrong kind of value
127.0.0.1:6379> set key1 'cg'
OK
127.0.0.1:6379> INCR key1
(error) ERR value is not an integer or out of range
若key的值是数字,INCR成功时,将key的value加1,返回value+1;
若key不存在,INCR将设置key的值为1;
若key的值非数字,INCR返回错误;
若key的值是非string,INCR返回错误。
Redis Incrby 命令 INCRBY KEY_NAME INCR_AMOUNT
Redis Incrby 命令将 key 中储存的数字加上指定的增量值。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCRBY 命令。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
redis
redis
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set range 50
OK
127.0.0.1:6379> get range
"50"
127.0.0.1:6379> INCRBY range 30
(integer) 80
127.0.0.1:6379> set cg 'g'
OK
127.0.0.1:6379> INCRBY cg 3
(error) ERR value is not an integer or out of range
127.0.0.1:6379> incrby ggh 30
(integer) 30
127.0.0.1:6379> get ggh
"30"
127.0.0.1:6379> lpush db 'mysql'
(integer) 1
127.0.0.1:6379> INCRBY db 3
(error) WRONGTYPE Operation against a key holding the wrong kind of value
与INCR相似。
Redis Incrbyfloat 命令 INCRBYFLOAT KEY_NAME INCR_AMOUNT
Redis Incrbyfloat 命令为 key 中所储存的值加上指定的浮点数增量值。
如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作。
redis
redis
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set mykey 10.50
OK
127.0.0.1:6379> get mykey
"10.50"
127.0.0.1:6379> incrbyfloat mykey 0.1
"10.6"
127.0.0.1:6379> incrbyfloat mykey 0.01
"10.61"
127.0.0.1:6379> set mykey 10.50
OK
127.0.0.1:6379> get mykey
"10.50"
127.0.0.1:6379> incrby mykey 1
(error) ERR value is not an integer or out of range
127.0.0.1:6379> set mykey 314e-2
OK
127.0.0.1:6379> get mykey
"314e-2"
127.0.0.1:6379> incrbyfloat mykey 0
"3.14"
127.0.0.1:6379> set mykey 3
OK
127.0.0.1:6379> get mykey
"3"
127.0.0.1:6379> INCRBYFLOAT mykey 1.10
"4.1"
127.0.0.1:6379> set mykey 3.0
OK
127.0.0.1:6379> get mykey
"3.0"
127.0.0.1:6379> INCRBYFLOAT mykey 1.0000000
"4"
多余的0会被省略;
对浮点数执行incrby,返回错误;
set设置的值可以用指数符号,get获取到的值也是用指数符号表示;
对integer值,可以使用incrbyfloat。
Redis Decr 命令 DECR KEY_NAME
Redis Decr 命令将 key 中储存的数字值减一。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
redis
redis
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set failure_times 300
OK
127.0.0.1:6379> get failure_times
"300"
127.0.0.1:6379> decr failure_times
(integer) 299
127.0.0.1:6379> decr count
(integer) -1
127.0.0.1:6379> get count
"-1"
127.0.0.1:6379> decr count
(integer) -2
127.0.0.1:6379> set cg 'ggh'
OK
127.0.0.1:6379> decr cg
(error) ERR value is not an integer or out of range
127.0.0.1:6379> lpush l 'k' 'm'
(integer) 2
127.0.0.1:6379> type l
list
127.0.0.1:6379> decr l
(error) WRONGTYPE Operation against a key holding the wrong kind of value
Redis Decrby 命令 DECRBY KEY_NAME DECREMENT_AMOUNT
Redis Decrby 命令将 key 所储存的值减去指定的减量值。
如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作。
如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
redis
redis
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> set count
(error) ERR wrong number of arguments for 'set' command
127.0.0.1:6379> set count 100
OK
127.0.0.1:6379> get count
"100"
127.0.0.1:6379> Decrby count 30
(integer) 70
127.0.0.1:6379> get count
"70"
127.0.0.1:6379> exists pages
(integer) 0
127.0.0.1:6379> DECRBY pages 20
(integer) -20
127.0.0.1:6379> get pages
"-20"
Redis Append 命令 APPEND KEY_NAME NEW_VALUE
Redis Append 命令用于为指定的 key 追加值。
如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。
如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。
redis
redis
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> exists myphone
(integer) 0
127.0.0.1:6379> append myphone 'nokia'
(integer) 5
127.0.0.1:6379> append myphone '-001'
(integer) 9
127.0.0.1:6379> get myphone
"nokia-001"
redis
redis
127.0.0.1:6379> lpush db 'mysql'
(integer) 1
127.0.0.1:6379> append db '222'
(error) WRONGTYPE Operation against a key holding the wrong kind of value
key为非string时,返回错误。