Redis基本数据类型介绍及相关方法介绍笔记--String类型

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

 

猜你喜欢

转载自harborchung.iteye.com/blog/2234568