Redis五种数据类型之 String 类型
String类型说明:
key:value=1:1
是二进制安全的可以包含任何数据的类型
比如可以存放jpg/png/序列化后的对象..Etc..
下面切入正题咯:
常用命令总结(自用总结 不喜勿喷):
1.SET方法
设置key对应值为String类型value
e.g: redis 127.0.0.1:6379>set name harborChung
OK.
2.GET方法
获取对应key的value值
e.g: redis 127.0.0.1:6379>set name harborChung
“harborChung"
3.SETNX方法
设置key对应值为String类型value,如果key已存在返回0不覆盖,不存在返回1设置成功
e.g:
127.0.0.1:6379> SET name HarborChung
OK
127.0.0.1:6379> get name
"HarborChung"
127.0.0.1:6379> setnx name hh
(integer) 0
127.0.0.1:6379> get name
"HarborChung"
127.0.0.1:6379> setnx names helloRedis
(integer) 1
127.0.0.1:6379> get names
“ helloRedis"
4.SETEX方法
设置key对应值为String类型value,并制定该key的有效期s.
说明:
设置gender有效期15秒 过期后 该键不可获取 nil表示为空
没有设置有效期则为永久有效
eg:
127.0.0.1:6379> setex gender 15 red
OK
127.0.0.1:6379> get gender
"red"
127.0.0.1:6379> get gender
(nil)
5.SETRANGE方法
设置指定key的value值的子字符串
Ps:
命令后跟的数字6为从第几个字符开始替换
根据数字后新字符串替换老字符串,剩余字符串不作替换
返回值11代表共返回11个字符
eg:
127.0.0.1:6379> get name
"HarborChung"
127.0.0.1:6379> setrange name 6 zhong
(integer) 11
127.0.0.1:6379> get name
"Harborzhong"
9.MSET方法
一次性设置多个key的值,成功返回ok代表所有值都已经被设置,失败返回0代表没有任何值被设置。
eg:
127.0.0.1:6379> mset key1 zhong key2 Chung
OK
127.0.0.1:6379> get key1
"zhong"
127.0.0.1:6379> get key2
“Chung"
10.MSETNX方法
一次性设置多个key的值,成功返回ok代表所有值都已经被设置,失败返回0代表没有任何值被设置,但是不会覆盖已存在的key。
只要有一个键设置不成功,其他设置操作均不生效。
eg:
127.0.0.1:6379> mset key1 zhong key2 Chung
OK
127.0.0.1:6379> get key1
"zhong"
127.0.0.1:6379> get key2
“Chung”
123456
127.0.0.1:6379> msetnx key1 haha key3 aaa
(integer) 0
127.0.0.1:6379> get key3
(nil)
11.GETSET方法
设置key的值并返回key的旧值
eg:
127.0.0.1:6379> getset key1 hello
“zhong”
127.0.0.1:6379> get key1
“hello"
12.GETRANGE方法
获取子字符串,即获取key的value 数字代表起始index及结束index
eg:
127.0.0.1:6379> getrange name 0 5
"Harbor"
13.MGET方法
批量获取方法,一次性获取多个key的值,如果有对应key不存在则返回nil空
eg:
127.0.0.1:6379> mget key1 key2 key3
1) "hello"
2) "Chung"
3) “aaa"
获取不存在的值的情况
127.0.0.1:6379> mget key1 key2 key3 key100
1) "hello"
2) "Chung"
3) "aaa"
4) (nil)
14.incr方法
代表对某个值的递增,即做++操作.
eg:
127.0.0.1:6379> set keycount 10
OK
127.0.0.1:6379> incr keycount
(integer) 11
127.0.0.1:6379> get keycount
"11"
15.incrby方法
同incr,加指定值,对于key不存在时会设置key并认为原来的值为0.
减少则直接设置负数即可
eg:
127.0.0.1:6379> get keyCount
(nil)
127.0.0.1:6379> incrby keyCount 10
(integer) 10
127.0.0.1:6379> get keyCount
“10”
--设置为负数情况
127.0.0.1:6379> incrby keyCount -8
(integer) 2
127.0.0.1:6379> get keyCount
“2"
16.decr方法
代表对某个值的递减,即做--操作.
eg:
127.0.0.1:6379> decr keyzzz
(integer) -1
127.0.0.1:6379> get keyzzz
"-1"
17.decrby方法
同decr,减指定值,对于key不存在时会设置key并认为原来的值为0.
添加则直接设置负数即可
eg:
127.0.0.1:6379> get keyzzz
"-1”
127.0.0.1:6379> decrby keyaa +10
(integer) -10
--设置为负数情况
127.0.0.1:6379> decrby keya -10
(integer) 10
127.0.0.1:6379> get keya
“10"
18.append方法
给指定key字符串追加vaue返回新字符串长度
eg:
127.0.0.1:6379> get name
"Harborzhong"
127.0.0.1:6379> append name Chung
(integer) 16
127.0.0.1:6379> get name
"HarborzhongChung"
19.strlen方法
取指定key的value值的长度
eg:
127.0.0.1:6379> get name
“HarborzhongChung"
127.0.0.1:6379> strlen name
(integer) 16