Redis初探02——Redis的String数据类型及操作
2017-03-29 16:24
549 查看
String类型是最简单的类型,一个key对应一个value,Stirng类型是二进制安全的。Redis的String可以包含任何数据,比如jpg图片或者序列化的对象。
操作:
1、set
设置key对应的值为String类型的value。
例:设置一个name=zhaojw的键值对,然后在get出name的值,再次设置name=zhaojw01,再get后发现值被覆盖:
2、setnx
设置对应的值为String类型的value,如果key已经存在,返回0,并且不更新,nx是not exist的意思。
例:设置name=zhaojw02,发现返回0,get后发现值未变,当设置age=26时,设置成功。
3、setex
设置key对应的值为String类型的value,并指定此键值对应的有效期。
例:添加一个haircolor=red的键值对,并指定有效期为10秒,10秒后再去get发现返回nil代表空:
4、setrange
设置指定key的value的值的子字符串,setrange key 从第几个位置开始替换(字符串下标,从0开始) 替换内容,只替换与替换内容同等长度的内容,替换成功后返回替换后的字符串的长度。
例:将zhaojw的邮箱由163修改为126邮箱:
5、mset
一次设置多个key的值,成功返回ok表示所有的值都设置成功,失败返回0表示没有任何值被设置成功。
6、msetnx
一次设置多个key的值,成功返回ok表示所有的值都设置成功,失败返回0表示没有任何值被设置成功,但是不会覆盖已存在的key,有一个key没有设置成功,都不会设置成功。
7、get
获取key对应的String值,如果key不存在返回nil。
getset
设置key的值,并返回key的旧值:
8、getrange
获取key的value值的子字符串。 getrange key 从第几个位置开始 到第几个位置结束
9、mget
一次获取多个key的值,如果对应的key不存在,则对应的返回nil;
10、incr
对key的值做++操作,并返回新的值,不存在的key,默认是0,然后相当于set这个key=0,后做++操作。
11、incrby
同incr类似,加指定值,key不存在时候会设置key,并认为原来的value是0。正为加,负为减;
12、decr
对key的值做–操作。同incr。相反的是正为减,负为加。
13、decrby
同incrby类似,减指定值。
14、append
给指定的key的字符串追加value。返回新字符串值的长度,append key value
15、strlen
取指定key的value值的长度,strlen key
操作:
1、set
设置key对应的值为String类型的value。
例:设置一个name=zhaojw的键值对,然后在get出name的值,再次设置name=zhaojw01,再get后发现值被覆盖:
127.0.0.1:6379> set name zhaojw OK 127.0.0.1:6379> get name "zhaojw" 127.0.0.1:6379> set name zhaojw01 OK 127.0.0.1:6379> get name "zhaojw01"
2、setnx
设置对应的值为String类型的value,如果key已经存在,返回0,并且不更新,nx是not exist的意思。
例:设置name=zhaojw02,发现返回0,get后发现值未变,当设置age=26时,设置成功。
127.0.0.1:6379> setnx name zhaojw02 (integer) 0 127.0.0.1:6379> get name "zhaojw01" 127.0.0.1:6379> setnx age 26 (integer) 1 127.0.0.1:6379> get age "26" 127.0.0.1:6379> setnx age 28 (integer) 0 127.0.0.1:6379> get age "26"
3、setex
设置key对应的值为String类型的value,并指定此键值对应的有效期。
例:添加一个haircolor=red的键值对,并指定有效期为10秒,10秒后再去get发现返回nil代表空:
127.0.0.1:6379> setex haircolor 10 red OK 127.0.0.1:6379> get haircolor "red" 127.0.0.1:6379> get haircolor (nil) 127.0.0.1:6379> setnx haircolor red (integer) 1 127.0.0.1:6379> get haircolor "red"
4、setrange
设置指定key的value的值的子字符串,setrange key 从第几个位置开始替换(字符串下标,从0开始) 替换内容,只替换与替换内容同等长度的内容,替换成功后返回替换后的字符串的长度。
例:将zhaojw的邮箱由163修改为126邮箱:
127.0.0.1:6379> set mail zhaojw_420@163.com OK 127.0.0.1:6379> get mail "zhaojw_420@163.com" 127.0.0.1:6379> setrange mail 11 126 (integer) 18 127.0.0.1:6379> get mail "zhaojw_420@126.com"
5、mset
一次设置多个key的值,成功返回ok表示所有的值都设置成功,失败返回0表示没有任何值被设置成功。
127.0.0.1:6379> mset key1 zhaojw1 key2 zhaojw2 key3 zhaojw3 OK 127.0.0.1:6379> get key1 "zhaojw1" 127.0.0.1:6379> get key2 "zhaojw2" 127.0.0.1:6379> get key3 "zhaojw3"
6、msetnx
一次设置多个key的值,成功返回ok表示所有的值都设置成功,失败返回0表示没有任何值被设置成功,但是不会覆盖已存在的key,有一个key没有设置成功,都不会设置成功。
127.0.0.1:6379> msetnx key4 zhaojw4 key5 zhaojw5 key3 zhaojw (integer) 0 127.0.0.1:6379> get key4 (nil) 127.0.0.1:6379> get key5 (nil) 127.0.0.1:6379> get key3 "zhaojw3" 127.0.0.1:6379> msetnx key4 zhaojw4 key5 zhaojw5 key6 zhaojw6 (integer) 1 127.0.0.1:6379> get key4 "zhaojw4" 127.0.0.1:6379> get key5 "zhaojw5" 127.0.0.1:6379> get key6 "zhaojw6"
7、get
获取key对应的String值,如果key不存在返回nil。
getset
设置key的值,并返回key的旧值:
127.0.0.1:6379> getset key6 zhaojw66 "zhaojw6" 127.0.0.1:6379> get key6 "zhaojw66"
8、getrange
获取key的value值的子字符串。 getrange key 从第几个位置开始 到第几个位置结束
127.0.0.1:6379> getrange mail 0 5 "zhaojw" 127.0.0.1:6379> getrange mail 0 10 "zhaojw_420@"
9、mget
一次获取多个key的值,如果对应的key不存在,则对应的返回nil;
127.0.0.1:6379> mget key1 key2 key3 key4 key5 key6 1) "zhaojw1" 2) "zhaojw2" 3) "zhaojw3" 4) "zhaojw4" 5) "zhaojw5" 6) "zhaojw66" 127.0.0.1:6379> mget key1 key2 key3 key4 key5 key6 key7 1) "zhaojw1" 2) "zhaojw2" 3) "zhaojw3" 4) "zhaojw4" 5) "zhaojw5" 6) "zhaojw66" 7) (nil)
10、incr
对key的值做++操作,并返回新的值,不存在的key,默认是0,然后相当于set这个key=0,后做++操作。
127.0.0.1:6379> get age "26" 127.0.0.1:6379> incr age (integer) 27 127.0.0.1:6379> incr age (integer) 28 127.0.0.1:6379> incr age (integer) 29 127.0.0.1:6379> incr age (integer) 30 127.0.0.1:6379> get age "30" 127.0.0.1:6379> incr agee (integer) 1 127.0.0.1:6379> incr agee (integer) 2 127.0.0.1:6379> get agee "2"
11、incrby
同incr类似,加指定值,key不存在时候会设置key,并认为原来的value是0。正为加,负为减;
127.0.0.1:6379> get age "30" 127.0.0.1:6379> incrby age 5 (integer) 35 127.0.0.1:6379> get age "35" 127.0.0.1:6379> incrby ageee 10 (integer) 10 127.0.0.1:6379> get ageee "10" 127.0.0.1:6379> incrby ageee -5 (integer) 5 127.0.0.1:6379> get ageee "5"
12、decr
对key的值做–操作。同incr。相反的是正为减,负为加。
127.0.0.1:6379> get ageee "5" 127.0.0.1:6379> decr ageee (integer) 4 127.0.0.1:6379> decr ageee (integer) 3 127.0.0.1:6379> decr ageee (integer) 2 127.0.0.1:6379> get ageee "2"
13、decrby
同incrby类似,减指定值。
127.0.0.1:6379> get ageee "2" 127.0.0.1:6379> decrby ageee -8 (integer) 10 127.0.0.1:6379> get ageee "10" 127.0.0.1:6379> decrby ageee 5 (integer) 5 127.0.0.1:6379> get ageee "5"
14、append
给指定的key的字符串追加value。返回新字符串值的长度,append key value
127.0.0.1:6379> get name "zhaojw" 127.0.0.1:6379> append name &zhanr (integer) 12 127.0.0.1:6379> get name "zhaojw&zhanr"
15、strlen
取指定key的value值的长度,strlen key
127.0.0.1:6379> strlen name (integer) 12
相关文章推荐
- redis:string数据类型与操作
- Redis数据类型操作(一) —— String
- 「redis存储篇」string数据类型的操作
- Redis-Service.Stack.Redis对Redis基本数据类型String,List,Hash,Set,ZSet的操作
- 系统学习redis之三——redis数据类型之string类型及操作
- Redis的数据类型及操作(一):string类型及操作
- Redis 对String数据类型的操作
- Redis---String数据类型的操作
- (Redis_学习一)Redis关于string类型和hash类型数据操作
- 使用stringRedisTemplate操作redis hash结构数据只能存储String类型的问题
- NoSQL之Redis对string数据类型的操作
- Redis数据操作——(1)String类型相关操作
- Redis学习手册(String数据类型)
- Redis源码解析4 - 数据类型之 String & List
- Redis String类型数据常用的16条命令总结
- Redis实战《红丸出品》2.1 Redis数据类型及操作前言
- KingPaper初探redis之redis数据类型解析(String类型)
- Redis入门教程:特性及数据类型的操作
- [置顶] Redis String类型数据常用的16条命令总结
- Redis学习手册(String数据类型)