redis操作(一.String类型及操作)

set

设置key对应的值为string类型的value例如我们添加一个name= HongWan的键值对,可以这样做:

redis 127.0.0.1:6379> set name HongWan

 OK

redis 127.0.0.1:6379>

 

setnx

设置key对应的值为string类型的value。如果key已经存在,返回0nxnot exist的意思。 例如我们添加一个name= HongWan_new的键值对,可以这样做:

redis 127.0.0.1:6379> get name "HongWan"

redis 127.0.0.1:6379> setnx name HongWan_new

(integer) 0

redis 127.0.0.1:6379> get name 

"HongWan"

redis 127.0.0.1:6379>

 

setex

设置key对应的值为string类型的value,并指定此键值对应的有效期。 例如我们添加一个haircolor= red的键值对,并指定它的有效期是10秒,可以这样做:

redis 127.0.0.1:6379> setex haircolor 10 red

OK

redis 127.0.0.1:6379> get haircolor 

"red"

redis 127.0.0.1:6379> get haircolor

(nil)

redis 127.0.0.1:6379>

 

setrange

设置指定keyvalue值的子字符串。 例如我们希望将HongWan126邮箱替换为gmail邮箱,那么我们可以这样做:

redis 127.0.0.1:6379> get name 

"HongWan@126.com"

redis 127.0.0.1:6379> setrange name 8 gmail.com

(integer) 17

redis 127.0.0.1:6379> get name 

"HongWan@gmail.com"

redis 127.0.0.1:6379>

 

mset

一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置。

redis 127.0.0.1:6379> mset key1 HongWan1 key2 HongWan2

OK

redis 127.0.0.1:6379> get key1

 "HongWan1" 

redis 127.0.0.1:6379> get key2

 

 

msetnx

一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key

redis 127.0.0.1:6379> get key1 

"HongWan1"

redis 127.0.0.1:6379> get key2 

"HongWan2"

redis 127.0.0.1:6379> msetnx key2 HongWan2_new key3 HongWan3

(integer) 0

redis 127.0.0.1:6379> get key2 

"HongWan2"

redis 127.0.0.1:6379> get key3

(nil)

 

get

获取key对应的string,如果key不存在返回nil。 例如我们获取一个库中存在的键name,可以很快得到它对应的value

redis 127.0.0.1:6379> get name 

"HongWan"

redis 127.0.0.1:6379>

我们获取一个库中不存在的键name1,那么它会返回一个nil以表时无此键值对redis127.0.0.1:6379> get name1(nil) redis 127.0.0.1:6379>

 

getset

设置key的值,并返回key的旧值。

redis 127.0.0.1:6379> get name

 "HongWan"

redis 127.0.0.1:6379> getset name HongWan_new

"HongWan"

redis 127.0.0.1:6379> get name

 "HongWan_new"

redis 127.0.0.1:6379>

接下来我们看一下如果key不存的时候会什么样儿?

redis 127.0.0.1:6379> getset name1 aaa

 (nil)

redis 127.0.0.1:6379>

 

 

getrange

获取指定keyvalue值的子字符串。 具体样例如下:

redis 127.0.0.1:6379> get name 

"HongWan@126.com"

redis 127.0.0.1:6379> getrange name 0 6 

"HongWan"

redis 127.0.0.1:6379>

字符串左面下标是从0开始的

redis 127.0.0.1:6379> getrange name -7 -1

"126.com"

redis 127.0.0.1:6379>

字符串右面下标是从-1开始的

redis 127.0.0.1:6379> getrange name 7 100 

"@126.com"

redis 127.0.0.1:6379>

当下标超出字符串长度时,将默认为是同方向的最大下标

 

mget

一次获取多个key的值,如果对应key不存在,则对应返回nil。 具体样例如下:

redis 127.0.0.1:6379> mget key1 key2 key3

1) "HongWan1"

2) "HongWan2"

3) (nil)

redis 127.0.0.1:6379>

 

 

incr

对key的值做加加操作,并返回新的值。注意incr一个不是int的value会返回错误,incr

一个不存在的key,则设置key1

redis 127.0.0.1:6379> set age 20

OK

redis 127.0.0.1:6379> incr age

(integer) 21

redis 127.0.0.1:6379> get age

"21"

redis 127.0.0.1:6379>

 

incrby

incr类似,加指定值 ,key不存在时候会设置key,并认为原来的value0

redis 127.0.0.1:6379> get age

"21"

redis 127.0.0.1:6379> incrby age 5

(integer) 26

redis 127.0.0.1:6379> get name

"HongWan@gmail.com"

redis 127.0.0.1:6379> get age

"26"

redis 127.0.0.1:6379>

 

 

decr

key的值做的是减减操作,decr一个不存在key,则设置key-1

redis 127.0.0.1:6379> get age "26"

redis 127.0.0.1:6379> decr age

(integer) 25

redis 127.0.0.1:6379> get age

"25"

redis 127.0.0.1:6379>

 

decrby

decr,减指定值。

redis 127.0.0.1:6379> get age

"25"

redis 127.0.0.1:6379> decrby age 5

(integer) 20

redis 127.0.0.1:6379> get age

"20"

 

 

append

给指定key的字符串值追加value,返回新字符串值的长度。 例如我们向name的值追加一个@126.com字符串,那么可以这样做:

redis 127.0.0.1:6379> append name @126.com

(integer) 15

redis 127.0.0.1:6379> get name

"HongWan@126.com"

redis 127.0.0.1:6379>

 

strlen

取指定keyvalue值的长度。

redis 127.0.0.1:6379> get name

"HongWan_new"

redis 127.0.0.1:6379> strlen name

(integer) 11

redis 127.0.0.1:6379> get age

"15"

redis 127.0.0.1:6379> strlen age

(integer) 2

redis 127.0.0.1:6379>

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值