redis学习之Redis 字符串(String)

来源:互联网 发布:java销售 编辑:程序博客网 时间:2024/06/05 19:28

Redis SET 命令 SET KEY_NAME VALUE

Redis SET 命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。

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"
redis

设定一个不存在的key时,若成功,返回OK;设定一个已经存在的key时,用新的value覆盖旧的value,若成功,
返回OK。

Redis Get 命令 GET KEY_NAME

Redis Get 命令用于获取指定 key 的值。如果 key 不存在,返回 nil 。如果key 储存的值不是字符串类型,返回一个错误。

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
redis

get不存在的key时,返回nil;
get存在的key时,返回key的值;
get非string的key,返回一个错误。

Redis Getrange 命令 GETRANGE KEY_NAME start end

Redis Getrange 命令用于获取存储在指定 key 中字符串的子字符串。字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。

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"
redis

start和end都是字符串的坐标,且从0开始计数。

Redis Getset 命令 GETSET KEY_NAME VALUE

Redis Getset 命令用于设置指定 key 的值,并返回 key 旧的值。

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
redis

Getset 不存在的key时,返回nil;
Getset成功时候,新value会覆盖旧value,返回旧value;
Getset非string key时,返回错误。

Redis Getbit 命令 GETBIT KEY_NAME OFFSET

Redis Getbit 命令用于对 key 所储存的字符串值,获取指定偏移量上的位(bit)。

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

不理解。

Redis Mget 命令 MGET KEY1 KEY2 .. KEYN

Redis Mget 命令返回所有(一个或多个)给定 key 的值。 如果给定的 key 里面,有某个 key 不存在,那么这个 key 返回特殊值 nil 。

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)
redis

如果给定的key里面,有某个key不存在,或某个key是非string,那这个key返回nil。

Redis Setbit 命令 Setbit KEY_NAME OFFSET

Redis Setbit 命令用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。

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

不理解。

Redis Setex 命令 SETEX KEY_NAME TIMEOUT VALUE

Redis Setex 命令为指定的 key 设置值及其过期时间。如果 key 已经存在, SETEX 命令将会替换旧的值。

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

Redis Setnx 命令 SETNX KEY_NAME VALUE

Redis Setnx(SET if Not eXists) 命令在指定的 key 不存在时,为 key 设置指定的值。

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"
redis

当key不存在时,setnx设置key成功,返回1;
当key存在时,setnx设置key失败,返回0。

Redis Setrange 命令 SETRANGE KEY_NAME OFFSET VALUE

Redis Setrange 命令用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始。

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"
redis

offset从0计数,覆盖与value相等的位数字符串。

Redis Strlen 命令 STRLEN KEY_NAME

Redis Strlen 命令用于获取指定 key 所储存的字符串值的长度。当 key 储存的不是字符串值时,返回一个错误。

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
redis

strlen不存在的key时,返回0;
strlen非string的key时,返回错误。

Redis Mset 命令 MSET key1 value1 key2 value2 .. keyN valueN

Redis Mset 命令用于同时设置一个或多个 key-value 对。

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"
redis

最后的key,排在最前面。

Redis Msetnx 命令 MSETNX key1 value1 key2 value2 .. keyN valueN

Redis Msetnx 命令用于所有给定 key 都不存在时,同时设置一个或多个 key-value 对。

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"
redis

MSETNX是原子操作,只要一个key操作失败,所有的key都将操作失败。

Redis Psetex 命令 PSETEX key1 EXPIRY_IN_MILLISECONDS value1

Redis Psetex 命令以毫秒为单位设置 key 的生存时间。

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

Redis Incr 命令 INCR KEY_NAME

Redis Incr 命令将 key 中储存的数字值增一。

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

本操作的值限制在 64 位(bit)有符号数字表示之内。 (这句不懂)

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
redis

若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
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
redis

与INCR相似。

Redis Incrbyfloat 命令 INCRBYFLOAT KEY_NAME INCR_AMOUNT

Redis Incrbyfloat 命令为 key 中所储存的值加上指定的浮点数增量值。

如果 key 不存在,那么 INCRBYFLOAT 会先将 key 的值设为 0 ,再执行加法操作。

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"
redis

多余的0会被省略;
对浮点数执行incrby,返回错误;
set设置的值可以用指数符号,get获取到的值也是用指数符号表示;
对integer值,可以使用incrbyfloat。

Redis Decr 命令 DECR KEY_NAME

Redis Decr 命令将 key 中储存的数字值减一。

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECR 操作。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

本操作的值限制在 64 位(bit)有符号数字表示之内。

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

Redis Decrby 命令 DECRBY KEY_NAME DECREMENT_AMOUNT

Redis Decrby 命令将 key 所储存的值减去指定的减量值。

如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 DECRBY 操作。

如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。

本操作的值限制在 64 位(bit)有符号数字表示之内。

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

Redis Append 命令 APPEND KEY_NAME NEW_VALUE

Redis Append 命令用于为指定的 key 追加值。

如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。

如果 key 不存在, APPEND 就简单地将给定 key 设为 value ,就像执行 SET key value 一样。

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
redis

key为非string时,返回错误。

0 0
原创粉丝点击