Home  >  Article  >  Database  >  Redis数据库系列(三)

Redis数据库系列(三)

WBOY
WBOYOriginal
2016-06-07 15:35:421348browse

set key value [ex 秒数] / [px 毫秒数] [nx] /[xx] 如 :seta1ex10,10 秒有效 Seta1px9000,9 秒有效 注 : 如果 ex,px 同时写 , 以后面的有效期为准 如 seta1ex100px9000, 实际有效期是 9000 毫秒 nx: 表示 key 不存在时 , 执行操作 xx: 表示 key 存在时 , 执

set key value [ex 秒数] / [px 毫秒数]  [nx] /[xx]

: set a 1 ex 10 , 10秒有效

Set a 1 px 9000  , 9秒有效

如果ex,px同时写,以后面的有效期为准

如 set a 1 ex 100 px 9000, 实际有效期是9000毫秒

 

nx: 表示key不存在时,执行操作

xx: 表示key存在时,执行操作



mset  multi set , 一次性设置多个键值

: mset key1 v1 key2 v2 ....

Redis数据库系列(三)


get key 

作用:获取key的值


mget key1 key2 ..keyn

作用:获取多个key的值

Redis数据库系列(三)

setrange key offset value

作用:把字符串的offset偏移字节,改成value

redis 127.0.0.1:6379> set greet hello
OK
<p>redis 127.0.0.1:6379> setrange greet 2 x</p><p>(integer) 5</p><p>redis 127.0.0.1:6379> get greet</p><p>"hexlo"</p>

Redis数据库系列(三)

注意如果偏移量>字符长度该字符自动补0x00

redis 127.0.0.1:6379> setrange greet 6 !
(integer) 7
redis 127.0.0.1:6379> get greet
"heyyo\x00!"

Redis数据库系列(三)


append key value

作用value追加到key的原值上

Redis数据库系列(三)

getrange key start stop

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

注意对于字符串的下标,左数从0开始,右数从-1开始

edis 127.0.0.1:6379> set title 'chinese'
OK
redis 127.0.0.1:6379> getrange title 0 3
"chin"
redis 127.0.0.1:6379> getrange title 1 -2
"hines"

Redis数据库系列(三)


注意

1: start>=length, 则返回空字符串

2: stop>=length,则截取至字符结尾

3: 如果start 所处位置在stop右边返回空字符串

Redis数据库系列(三)


getset key newvalue

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

redis 127.0.0.1:6379> set cnt 0
OK
redis 127.0.0.1:6379> getset cnt 1
"0"
redis 127.0.0.1:6379> getset cnt 2
"1"

Redis数据库系列(三)

Redis数据库系列(三)



incr key

作用指定的key的值加1,并返回加1后的值

注意:

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

2: 范围为64有符号

Redis数据库系列(三)

Redis数据库系列(三)


incrby key number
redis 127.0.0.1:6379> incrby age  90
(integer) 92
Redis数据库系列(三)


incrbyfloat key floatnumber
redis 127.0.0.1:6379> incrbyfloat age 3.5
"95.5"

decr key
redis 127.0.0.1:6379> set age 20
OK
redis 127.0.0.1:6379> decr age
(integer) 19

decrby key number
redis 127.0.0.1:6379> decrby age 3
(integer) 16
Redis数据库系列(三)

Redis数据库系列(三)

getbit key offset

作用:获取值的二进制表示,对应位上的值(从左,0编号)

redis 127.0.0.1:6379> set char A
OK
redis 127.0.0.1:6379> getbit char 1
(integer) 1
redis 127.0.0.1:6379> getbit char 2
(integer) 0
redis 127.0.0.1:6379> getbit char 7
(integer) 1

setbit  key offset value

设置offset对应二进制位上的值

返回该位上的旧值

注意

1:如果offset过大,则会在中间填充0,

2: offset最大大到多少

3:offset最大2^32-1,可推出最大的的字符串为512M

Redis数据库系列(三)

Redis数据库系列(三)

bitop operation destkey key1 [key2 ...]

key1,key2..keyNoperation,并将结果保存到 destkey 上。

operation 可以是 AND 、 OR 、 NOT 、 XOR

redis 127.0.0.1:6379> setbit lower 7 0
(integer) 0
redis 127.0.0.1:6379> setbit lower 2 1
(integer) 0
redis 127.0.0.1:6379> get lower
" "
redis 127.0.0.1:6379> set char Q
OK
redis 127.0.0.1:6379> get char
"Q"
redis 127.0.0.1:6379> bitop or char char lower
(integer) 1
redis 127.0.0.1:6379> get char
"q"

注意: 对于NOT操作, key不能多个



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn