[toc]
redis数据类型 string 字符串
string(字符串)简介
简介: 字符串
可以存储的值: 字符串,整数或者浮点数,还有jpg图片或者序列化对象
操作: 对整个字符串或者字符串的其中一部分执行操作,对整数和浮点数执行自增或者自减操作
应用场景: 做简单的键值对缓存
使用示例:
127.0.0.1:6379> set a 1
OK
127.0.0.1:6379> get a
"1"
127.0.0.1:6379> del a
(integer) 1
127.0.0.1:6379> get a
(nil)
redis字符串常用命令
set key value
含义:设置指定key的值
示例:
127.0.0.1:6379> SET str a
OK
get key
含义:获取指定key的值
示例:
127.0.0.1:6379> GET str
"a"
setrange key offset value
含义:用value参数覆写给定key所储存的字符串值,从偏移量offset开始
示例:
127.0.0.1:6379> GET str
"abc"
127.0.0.1:6379> SETRANGE str 1 123
(integer) 4
127.0.0.1:6379> GET str
"a123"
getrange key start end
含义:返回key中字符串值的子字符
示例:
127.0.0.1:6379> GET str
"abcdef"
127.0.0.1:6379> GETRANGE str 0 3
"abcd"
getset key value
含义:将给定key的值设为value ,并返回key的旧值(old value)
示例:
127.0.0.1:6379> GET str
"abcdef"
127.0.0.1:6379> GETSET str 123
"abcdef"
127.0.0.1:6379> GET str
"123"
getbit key offset
含义:对key所储存的字符串值,获取指定偏移量上的位(bit)
示例:
127.0.0.1:6379> GET str
"abcd"
127.0.0.1:6379> GETBIT str 0
(integer) 0
127.0.0.1:6379> GETBIT str 1
(integer) 1
127.0.0.1:6379> GETBIT str 2
(integer) 1
127.0.0.1:6379> GETBIT str 3
(integer) 0
setbit key offset value
含义:对key所储存的字符串值,设置或清除指定偏移量上的位(bit)
示例:
27.0.0.1:6379> GET str
"abcd"
127.0.0.1:6379> GETBIT str 0
(integer) 0
127.0.0.1:6379> GETBIT str 1
(integer) 1
127.0.0.1:6379> GETBIT str 2
(integer) 1
127.0.0.1:6379> GETBIT str 3
(integer) 0
127.0.0.1:6379> SETBIT str 0 1
(integer) 0
127.0.0.1:6379> GETBIT str 0
(integer) 1
mset key value [key value]
含义:同时设置一个或多个key-value对
示例:
127.0.0.1:6379> MSET str1 aaa str2 bbb
OK
mget key1 [key2]
含义:获取所有(一个或多个)给定key的值
示例:
127.0.0.1:6379> MGET str1 str2
1) "a"
2) "b"
setex key seconds value
含义:将值value关联到key ,并将key的过期时间设为seconds (以秒为单位)
示例:
127.0.0.1:6379> SETEX str 10 abc
OK
#10秒后str的值失效
127.0.0.1:6379> GEt str
(nil)
setnx key value
含义:只有在key不存在时设置key的值
示例:
127.0.0.1:6379> GET str
"abc"
127.0.0.1:6379> SETNX str 123
(integer) 0
127.0.0.1:6379> GET str
"abc"
127.0.0.1:6379> SETNX str2 123
(integer) 1
127.0.0.1:6379> GET str2
"123"
msetnx key value [key value]
含义:同时设置一个或多个key-value对,当且仅当所有给定key都不存在,如果key存在则不改变
示例:
127.0.0.1:6379> MSETNX str5 5 str6 6
(integer) 1
127.0.0.1:6379> MGET str5 str6
1) "5"
2) "6"
psetex key milliseconds value
含义:这个命令和 SETEX 命令相似,但它以毫秒为单位设置key的生存时间,而不是像 SETEX 命令那样,以秒为单位
示例:
127.0.0.1:6379> PSETEX str 3000 a123
OK
#str 3000毫秒(3秒)后失效
127.0.0.1:6379> GET str
(nil)
incr key
含义:将key中储存的数字值增一
示例:
127.0.0.1:6379> GET str
"10"
127.0.0.1:6379> INCR str
(integer) 11
127.0.0.1:6379> GET str
"11"
incrby key increment
含义:将key所储存的值加上给定的增量值(increment)
示例:
127.0.0.1:6379> GET str
"11"
127.0.0.1:6379> INCRBY str 2
(integer) 13
127.0.0.1:6379> GET str
"13"
incrbyfloat key increment
含义:将key所储存的值加上给定的浮点增量值(increment)
示例:
127.0.0.1:6379> GET str
"13"
127.0.0.1:6379> INCRBYFLOAT str 0.5
"13.5"
127.0.0.1:6379> GET str
"13.5"
decr key
含义:将key中储存的数字值减一
示例:
127.0.0.1:6379> GET str
"10"
127.0.0.1:6379> DECR str
(integer) 9
127.0.0.1:6379> GET str
"9"
decrby key decrement
含义:key所储存的值减去给定的减量值(decrement)
示例:
127.0.0.1:6379> GET str
"9"
127.0.0.1:6379> DECRBY str 3
(integer) 6
127.0.0.1:6379> GET str
"6"
append key value
含义:如果key已经存在并且是一个字符串, APPEND 命令 将指定的value追加到该key原来值(value)的末尾
示例:
127.0.0.1:6379> GET str
"6"
127.0.0.1:6379> APPEND str abc
(integer) 4
127.0.0.1:6379> GET str
"6abc"
strlen key
含义:返回key所储存的字符串值的长度
示例:
127.0.0.1:6379> GET str
"6abc"
127.0.0.1:6379> STRLEN str
(integer) 4