string字符串类型的操作——redis

Posted reyinever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string字符串类型的操作——redis相关的知识,希望对你有一定的参考价值。

1. string字符串类型的操作:

1.1. set 设置单个值

语法:set key value [EX seconds] [PX milliseconds] [NX|XX]

注:

EX seconds 设置key的生命周期(有效期)(以秒数为单位)

PX milliseconds 表示key的生命周期(有效期)(以毫秒为单位)

NX  (not exists)表示key不存在时设置

XX 表示key已存在时才设置

例:

127.0.0.1:6379> set name ‘wang‘ ex 15

OK

127.0.0.1:6379> ttl name

(integer) 13

127.0.0.1:6379> ttl name

(integer) 10

127.0.0.1:6379> set name ‘yang‘ px 3000

OK

127.0.0.1:6379> ttl name

(integer) -2

 

127.0.0.1:6379> ttl name

(integer) -1

127.0.0.1:6379> set name ‘zhao‘ ex 20

OK

127.0.0.1:6379> ttl name

(integer) 17

 

127.0.0.1:6379> set animal ‘cat‘

OK

127.0.0.1:6379> ttl animal

(integer) -1

127.0.0.1:6379> set animal ‘dog‘ nx

(nil)

127.0.0.1:6379> set animal ‘dog‘ xx

OK

127.0.0.1:6379>

注:expx不能同时写

127.0.0.1:6379> set animal cat ex 10 px 7000

(error) ERR syntax error

1.2. mset 设置多个值

语法:mset key value [key value ...]

例:

127.0.0.1:6379> mset a apple b banana c crow d dog

OK

127.0.0.1:6379> keys *

1) "c"

2) "a"

3) "animal"

4) "b"

5) "d"

1.3. get 获取单个值

语法:get key

例:

127.0.0.1:6379> mset a apple b banana c crow d dog

OK

127.0.0.1:6379> get a

"apple"

127.0.0.1:6379> get b

"banana"

1.4. mget 获取多个值

语法:mget key [key ...]

例:

127.0.0.1:6379> mset a apple b banana c crow d dog

OK

127.0.0.1:6379> mget a b d

1) "apple"

2) "banana"

3) "dog"

1.5. setrange key offset value

语法:setrange key offset value

作用:把key的值偏移量offset,开始替换为value

注:

Offset 是偏移量,可以大于key的最大长度(

例:

127.0.0.1:6379> set word hello

OK

127.0.0.1:6379> get word

"hello"

127.0.0.1:6379> setrange word 2 ??

(integer) 5

127.0.0.1:6379> get word

"he??o"

1.6. getrange key start end 获取key的指定范围的字符

语法:getrange key start end

作用:获取字符串中[start,end]范围的值

注:

start 开始索引号 (从0开始,闭区间);如果start大于end

end  结束索引号 (到end结束,闭区间,右数从-1开始)

Start>=length,返回空字符串

end>=length,截取至字符结尾

如果start所处位置在end右边,返回空字符

例:

127.0.0.1:6379> set fruit orange

OK

127.0.0.1:6379> get fruit

"orange"

127.0.0.1:6379> getrange fruit 1 4

"rang"

 

127.0.0.1:6379> set status working

OK

127.0.0.1:6379> getrange status 0 -3

"worki"

127.0.0.1:6379> getrange status 0 -4

"work"

1.7. getset key newvalue

语法:getset key value

作用:获取并返回旧值,设置新值

 

127.0.0.1:6379> set fruit orange

OK

127.0.0.1:6379> get fruit

"orange"

127.0.0.1:6379> getset fruit apple

"orange"

127.0.0.1:6379> get fruit

"apple"

127.0.0.1:6379> getset fruit ‘banana‘

"apple"

 

1.8. incr 键值(key)增加1

语法:incr key

注:

不存在的key当成0,再incr操作

范围为64有符号

例:

127.0.0.1:6379> set age 20

OK

127.0.0.1:6379> incr age

(integer) 21

 

1.9. incrby key number 增加自定义的数

语法:incrby key increment

 

例:

127.0.0.1:6379> incrby age 5

(integer) 25

1.10. incrbyfloat key floatnumber 增加一个浮点数

语法:incrbyfloat key increment

例:

127.0.0.1:6379> set score 80

OK

127.0.0.1:6379> get score

"80"

127.0.0.1:6379> incrbyfloat score 3.5

"83.5"

127.0.0.1:6379> get score

"83.5"

以上是关于string字符串类型的操作——redis的主要内容,如果未能解决你的问题,请参考以下文章

string字符串类型的操作——redis

Redis --- 八种数据类型(基本命令)

Redis常用数据类型介绍使用场景及其操作命令

Redis的五种数据类性以及对应的操作命令

缓存数据库-redis数据类型和操作

Redis—数据操作