redis string类型学习

RedisString类型

一、查看string类型的命令

二、操作string例子

一、查看string类型的命令

1、打开redis客户端,输入help

127.0.0.1:6379>help

redis-cli2.8.19

Type:"help @<group>" to get a list of commands in <group>

"help <command>" for helpon <command>

"help <tab>" to get a listof possible help topics

"quit" to exit

备注: help是帮助命令,

2、输入 help@string

127.0.0.1:6379>help @string

APPEND key value

summary: Append a value to a key

since: 2.0.0

BITCOUNT key [start] [end]

summary: Count set bits in a string

since: 2.6.0

BITOP operation destkey key [key …]

summary: Perform bitwise operations betweenstrings

since: 2.6.0

……..

备注: 由于篇幅太大,因此省略一些。

二、操作string例子

1、string类型命令说明

命令名称

说明

格式

set

将字符串值value关联到key。如果key已经持有其他值,SET就覆写旧值,无视类型

set key value

get

返回key所关联的字符串值。如果key不存在则返回特殊值nil

get key

setnx

将key的值设为value,当且仅当key不存在。若给定的key已经存在,则SETNX不做任何动作

setnx key value

setex

将值value关联到key,并将key的生存时间设为seconds(以秒为单位)。

setex key seconds value

setrange

用value参数覆写(Overwrite)给定key所储存的字符串值,从偏移量offset开始。不存在的key当作空白字符串处理

setrange key offset value

mset

同时设置一个或多个key-value对。

当发现同名的key存在时,MSET会用新值覆盖旧值

mset key value [key value …]

mget

返回多个key所关联的字符串值。如果key不存在则返回特殊值nil

mget key1 key2 …

append

如果key已经存在并且是一个字符串,append命令将value追加到key原来的值之后。如果key不存在,append就简单地将给定key设为value,就像执行set key value一样

append key value

msetnx

同时设置一个或多个key-value对,当且仅当key不存在。即使只有一个key已存在,msetnx也会拒绝所有传入key的设置操作

msetnx key value [key value …]

getrange

返回key中字符串值的子字符串,字符串的截取范围由start和end两个偏移量决定(包括start和end在内)。负数偏移量表示从字符串最后开始计数,-1表示最后一个字符,-2表示倒数第二个,以此类推

getrange key start end

getset

将给定key的值设为value,并返回key的旧值。当key存在但不是字符串类型时,返回一个错误

getset key value

strlen

返回key所储存的字符串值的长度。

当key储存的不是字符串值时,返回一个错误

strlen key

decr

将key中储存的数字值减一。如果key不存在,以0为key的初始值,然后执行decr操作

decr key

decrby

将key所储存的值减去减量decrement。如果key不存在,以0为key的初始值,然后执行decrby操作

decrby key decrement

incr

将key中储存的数字值加一。如果key不存在,以0为key的初始值,然后执行incr操作

incr key

incrby

将key所储存的值加上增量increment。如果key不存在,以0为key的初始值,,然后执行incrby操作

incrby key increment

2、单个字符串操作

2.1、设置key为name,其值为xiaobei

127.0.0.1:6379> setname xiaobei

OK

2.2、获取key为name的值

127.0.0.1:6379> get name

"xiaobei"

2.3、获取key为name的字符长度

127.0.0.1:6379>strlen name

(integer) 7

2.4、向key为name,追加 字符’is good.’

127.0.0.1:6379>append name ‘ is good’

(integer) 15

127.0.0.1:6379>get name

"xiaobeiis good"

2.5、对key为name中的good,替换为great

127.0.0.1:6379>setrange name 11 great

(integer) 16

127.0.0.1:6379>get name

"xiaobeiis great"

3、批量设置多个字符

3.1、分别设置key为name,age ,其值分别对应xiaobei,24

127.0.0.1:6379>mset name xiaobei age 24

OK

3.2、获取key为name和age的值

127.0.0.1:6379>mget name age

1)"xiaobei"

2)"24"

4、自增或自减操作

4.1、自增操作

127.0.0.1:6379>incr c

(integer) 1

127.0.0.1:6379>get c

"1"

127.0.0.1:6379>incr c

(integer) 2

127.0.0.1:6379>get c

"2"

4.2、自减操作

127.0.0.1:6379>decr c

(integer) 1

127.0.0.1:6379>get c

"1"

127.0.0.1:6379>decr c

(integer) 0

127.0.0.1:6379>get c

"0"

4.3、按10进行自增

127.0.0.1:6379>incrby c 10

(integer) 10

127.0.0.1:6379>get c

"10"

127.0.0.1:6379>incrby c 10

(integer) 20

127.0.0.1:6379>get c

"20"

4.4、按10进行自减

127.0.0.1:6379>decrby c 10

(integer) 10

127.0.0.1:6379>get c

"10"

127.0.0.1:6379>decrby c 10

(integer) 0

127.0.0.1:6379>get c

"0"

5、常见错误

5.1、自增或自减只能针对 数字字符串的key或未存在的key

127.0.0.1:6379>set name ‘1’

OK

127.0.0.1:6379>get name

"1"

127.0.0.1:6379>incr name

(integer)2

127.0.0.1:6379>set name ‘xiaobei’

OK

127.0.0.1:6379>get name

"xiaobei"

127.0.0.1:6379>incr name

(error)ERR value is not an integer or out of range

版权声明:本文为博主原创文章,未经博主允许不得转载。

停止每日在车水马龙的市井里忙碌的穿梭,

redis string类型学习

相关文章:

你感兴趣的文章:

标签云: