NoSQL之Redis对string数据类型的操作
一、简介 String是最简单的数据类型,一个Key对应一个Value,String类型是二进制安装的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。 1.set key value:设置key对应的值为string类型的value,返回值ok 127.0.0.1:6379> set mykey 'this is a sting' 这样就想当于设置了mykey='this is a string'的键值对。set是可以重新设置的,也就是说我如果再执行set mykey 'this is another string'那么后面的值会覆盖前面的值。 2.get key:获取key键对应的string value: 127.0.0.1:6379> get mykey 这样就获取了刚才我们设置的mykey对应的value 值为'this is a string' 3.setnx key value:只对不存在的key设置对应的value值,如果key已经存在那么设置不成功返回integer 0,nx是not exist的意思。如果key不存在那么设置成功返回integer 1 127.0.0.1:6379> setnx mykey 'this is mykey value' 说明设置不成功,这个时候我们再用get mykey 127.0.0.1:6379> get mykey 可以看到还是之前的值,并没有变化。那么我们用setnx mykey1 ‘this is mykey1 value'看看是什么情况,mykey1是之前没有设置过的 127.0.0.1:6379> setnx mykey1 'this is mykey1 string value' 127.0.0.1:6379> get mykey1 很明显mykey1设置成功了。 4.setex key value:设置key对应的值为string类型的value,并指定此键值对应的有效期。 127.0.0.1:6379> setex boyname 10 joker 上面语句的意思是我设置了一个键值为boyname的value为joker,并且10后过期,那么我get boyname回获取到10秒,但是10秒之后就会返回(nil)这个代表redis里的空字符串。 set boyname joker如果没有设置有效期,代表永久有效。 5.setrange key value start childstring:设置指定key的value的子字符串。从start开始,设置长度为length 127.0.0.1:6379> set email test@163.com 上面的命令首先设置email为test@163.com然后把163.com替换为 gmail.com 6.mset key1 value1 key2 value2 key3 value3 .........:一次设置多个key值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置。 127.0.0.1:6379> mset key1 value1 key2 value2 key3 value3 127.0.0.1:6379> get key1 同样用mset再次设置kye1 key2 key3的值,会覆盖前面的值。 127.0.0.1:6379> mset key1 newvalue1 key2 newvalue2 key3 newvalue3 127.0.0.1:6379> get key1 7.msetnx key1 value1 key2 value2 key3 value3 ......:一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的可以值 127.0.0.1:6379> msetnx key1 value1 key2 value2 key4 value4 因为key1 key2之前被设置过,所以失败 127.0.0.1:6379> msetnx key4 value4 key5 value5 key4 key5都没有设置过,所以成功 8.getset key value:设置一个新值,并且返回旧值。 127.0.0.1:6379> get key4 上面的命令首先获取key4原来的值为value4,用getset设置key4新值为newvalue4,同时返回了旧值value4。用完getset命令之后再用get获取key4为新值newvalue4. 9.getrange key start end:获取key的子字符串,从start开始到end结束 127.0.0.1:6379> getrange key4 1 3 10.mget key1 key2 key3...:批量获取 127.0.0.1:6379> mget key1 key2 key3 11.incr key : 自增 127.0.0.1:6379> set num 2 12.decr key : 自减 127.0.0.1:6379> decr num 13 .incrby key count:以指定的count数进行自增 127.0.0.1:6379> incrby num 10 14.decrby key count:以指定的count数进行自减 127.0.0.1:6379> decrby num 2 15.append key childstring:给指定key的value追加childstring 127.0.0.1:6379> get key1 key1原来的值为test1,用append方法追加之后变成了test1test2。append的结果返回是追加后的字符串长度。 15.strlen key:获取key对应value字符串的长度 127.0.0.1:6379> strlen key1 (integer) 10 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |