您的位置:首页 > 数据库 > Redis

redis学习之Redis 字符串(String)

2016-09-18 19:25 387 查看

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时,返回错误。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis