昨天安装完毕,今天终于可以进入正题了。
Redis中string类型的常用命令:
string是最简单的类型,一个key对应一个value,string类型是二进制安全的类型,Redis的string可以包含任何数据,比如:图片或者序列化的对象。
1. set 设置一对键值
格式:set 键 值 例如:set name "allen"
含义:添加一个键值对。
值得注意的是,这个命令在设置重复的key时,value是会覆盖的。它的作用是如果键不存在就添加这个键,如果存在就覆盖,会返回OK。
2. setnx 设置一对键值(键如果重复,不会覆盖)
格式:setnx 键 值 例如:setnx name1 “john”
含义:此命令在设置键的时候,会判断这个键是否存在,如果不存在,就创建这个键值,返回1,如果存在,不会更新原值,返回0。区别于set。
3. setex 设置一对键值,并指定有效时间
格式:setex 键 时间 值 例如:setex name2 10 “frank”
含义:设置一个key对应的值为string类型的value,并且指定此键值对应的有效期。
注意:在有效期内,能够返回值,超出有效期,只能返回空(nil)。如果key相同,该命令会覆盖上一个key的值。
另外:不设置有效期,代表永久生效。
4. setrange 设置指定key的value值的子字符串
这个需要上例子了:
127.0.0.1:6379> set email "[email protected]"
OK
127.0.0.1:6379> setrange email 6 "php"
(integer) 18
127.0.0.1:6379> get email
从例子中可以看到,从下标为6的字符开始,被“php”这三个字符给替换掉了,但是后面没有替换的部分还在。替换成功会返回替换成功之后的总长度。
5. mset 批量设置键值对
格式:mset key1 value1 key2 value2 key3 value3……
含义:一次性设置多个key的值,成功返回OK,表示所有的值都设置了;失败返回0,表示没有任何值被设置。
注意:m代表批量的意思,后面还有很多批量的操作。
6. msetnx 批量设置键值对,但是不会覆盖相同key的值。
格式:msetnx key1 value1 key2 value2 key3 value3……
含义:一次设置多个key的值,成功返回1,表示所有值都已经被设置;失败返回0,表示没有任何值被设置。但!是!它不会覆盖已经存在的key。区别于:mset
7. get 返回一个键的值
格式:get name 将会返回来那么的值。如果键不存在,返回空(nil)
8. getset 设置key的值,并且返回key的旧值
直接上例子:
127.0.0.1:6379> get name1
"aaa"
127.0.0.1:6379> getset name1 bbb
"aaa"
127.0.0.1:6379> get name1
"bbb"
例子很明了了,name1的原来值是aaa,然后用getset赋值了一个bbb,返回的是原来值aaa。事实上已经赋予了新值。
9. getrange 获取key的value值的子字符串
格式:getrange email 0 5
含义:把键名为email的值,从第0个字符到第5个字符返回。例如:
127.0.0.1:6379> getrange email 0 5
"allen@"
10. mget 批量获取值
格式:mget key1 key2 key3 key4 ……
含义:批量获取值,存在返回值,不存在返回空(nil)
11. incr 对key的值做递增操作
格式:incr num
含义:对键名为num的值,每次递增1。
注意:如果num的值不是int类型,会报错:(error) ERR value is not an integer or out of range
12. incrby 同上,加上指定值
格式:incrby key 数字
含义:对key的值按照指定的数字递增。
注意:正数,递增;负数,递减。
13. decr 递减操作
格式:decr key
含义:对key的值每次递减1。
14. decrby 按照指定值递减
格式:decrby key 数字
含义:按照指定的值,每次递减
注意:正数,递减;负数,递增。
PS:incrby 和 decrby 正好相反。
15. append 追加value
格式:append key 值
含义:为key的值的末尾,在加上指定的值。返回的是新字符串的长度。
16. strlen 获取字符串的长度
格式:strlen key
含义:返回key值的长度。如果key存在,就返回长度。key不存在,返回0。这个函数和php的一样。
爱玛,打字累的指头疼,昨天双11,犒劳自己买了个机械键盘,希望快快来 o(*≧▽≦)ツ┏━┓
学PHP的小蚂蚁 原创博客 http://my.oschina.net/woshixiaomayi/blog