redis的string类型

1、简单描述

   string类型是redis最基本的类型,而且string类型是二进制安全的,就是说redis的string类型可以包含任何数据,比如jpg图片或者序列化的对象。string类型最大可以存储1G字节数据。另外,string类型可以被部分命令(比如inrc)按照int类型处理。如果只使用string类型,那么redis可以被当做是拥有持久化功能的memcached,但是redis的string类型的操作比memcached多很多,下面来看具体的命令。

 

2、相关命令(基于4.0.1版本,2017年07月发布的redis稳定版本)

1)set命令:设置key的值,如果成功,返回ok,否则返回0。

2)setnx命令:设置key的值,如果key存在,则不会设置值而是返回0。

3)getset命令:设置key为新的值,并且返回旧的值。如果key是不存在的,则设置了值后,返回nil,就是空串的意思。原子操作。

4)mset命令:设置多个key。

5)mget命令:获取多个key的值。

6)msetnx:设置多个key,如果key存在则返回0。

【注意】msetnx,只要有一个key设置失败,其他的也一起失败:

上面的例子,如果单独msetnx str5 555是会成功的,因为有一个str这个key是存在的,所以setnx会失败,返回0。

7)incr命令,给string类型的值加1。

8)decr命令:给值减1。

9)incrby命令:给key加上某个数。

10)decrby命令:给key值减去某个数。

 

【注意】incrby 加一个负数,相当于decrby命令。

【注意】对于一个不存在的key进行incr、incrby、decr和decrby命令,会把key的初始值设置为0,然后进行incr等命令操作。

【注意】如果string类型的值不是整型,就不能做incr等操作。

 

11)append命令:给key的值追加一个字符串

【注意】对一个不存在的key执行append操作,会当做key的初始值为空字符串,然后追加字符串。

 

12)substr命令:从key的值里面获取部分的值,不修改key的值。

 

 

3、小结

1)msetnx命令:只要其中有个key的操作是失败的,则所有key都是操作失败;

2)incr、incrby、decr和decrby命令,如果被操作的key的值不能转为int型,则会返回出错信息;

 

posted @ 2017-09-10 16:25  汤姆雷特  阅读(1228)  评论(0编辑  收藏  举报