NoSQL之Redis对string数据类型的操作

原创 2013年12月01日 21:03:47

一、简介

  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'
OK

这样就想当于设置了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
"this is a string"

这样就获取了刚才我们设置的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'
(integer) 0

说明设置不成功,这个时候我们再用get mykey

127.0.0.1:6379> get mykey
"this is a string"

可以看到还是之前的值,并没有变化。那么我们用setnx mykey1 ‘this is mykey1 value'看看是什么情况,mykey1是之前没有设置过的

127.0.0.1:6379> setnx mykey1 'this is mykey1 string value'
(integer) 1

127.0.0.1:6379> get mykey1
"this is mykey1 string value"

很明显mykey1设置成功了。

4.setex key value:设置key对应的值为string类型的value,并指定此键值对应的有效期。

127.0.0.1:6379> setex boyname 10 joker
OK

上面语句的意思是我设置了一个键值为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
OK
127.0.0.1:6379> get email
"test@163.com"
127.0.0.1:6379> setrange email 5 gmail.com
(integer) 14
127.0.0.1:6379> get email
"test@gmail.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
OK

127.0.0.1:6379> get key1
"value1"

同样用mset再次设置kye1 key2 key3的值,会覆盖前面的值。

127.0.0.1:6379> mset key1 newvalue1 key2 newvalue2 key3 newvalue3
OK

127.0.0.1:6379> get key1
"newvalue1"

7.msetnx key1 value1 key2 value2 key3 value3 ......:一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置,但是不会覆盖已经存在的可以值

127.0.0.1:6379> msetnx key1 value1 key2 value2 key4 value4
(integer) 0

因为key1 key2之前被设置过,所以失败

127.0.0.1:6379> msetnx key4 value4 key5 value5
(integer) 1

key4 key5都没有设置过,所以成功

8.getset key value:设置一个新值,并且返回旧值。

127.0.0.1:6379> get key4
"value4"
127.0.0.1:6379> getset key4 newvalue4
"value4"
127.0.0.1:6379> get key4
"newvalue4"

上面的命令首先获取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
"ewv"

10.mget key1 key2 key3...:批量获取

127.0.0.1:6379> mget key1 key2 key3
1) "test1"
2) "test2"
3) "test3"

11.incr key : 自增

127.0.0.1:6379> set num 2
OK
127.0.0.1:6379> incr num
(integer) 3
127.0.0.1:6379> get num
"3"

12.decr key : 自减

127.0.0.1:6379> decr num
(integer) 2
127.0.0.1:6379> get num
"2"

13 .incrby key count:以指定的count数进行自增

127.0.0.1:6379> incrby num 10
(integer) 12
127.0.0.1:6379> get num
"12"

14.decrby key count:以指定的count数进行自减

127.0.0.1:6379> decrby num 2
(integer) 10
127.0.0.1:6379> get num
"10"

15.append key childstring:给指定key的value追加childstring

127.0.0.1:6379> get key1
"test1"
127.0.0.1:6379> append key1 test2
(integer) 10
127.0.0.1:6379> get key1
"test1test2"

key1原来的值为test1,用append方法追加之后变成了test1test2。append的结果返回是追加后的字符串长度。

15.strlen key:获取key对应value字符串的长度

127.0.0.1:6379> strlen key1
(integer) 10

相关文章推荐

NoSQL之Redis对zset(有序集合)数据类型的操作

一、简介 Sorted set(zset)是set的升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新得值调整顺序。可以理解为有两...

NoSQL之Redis对数据类型hash的操作

一、简介 Redishash是一个string类型的field和value的映射表。它的添加、删除操作都是O(1)(平均)。hash特别适合存储对象,将一个对象存储在hash类型中会占用更少的内存,并...

redis:string数据类型与操作

redis的基本数据类型之一:string。 类型说明 定义:src/sds.h 39 struct sdshdr { 40 int len; 41 int fre...

Redis常用命令(String数据类型的操作)

为了方便操作这里可以下载Redis的Windows 64位的版本 下载地址:http://download.csdn.net/detail/u010180738/9667899Redis是目前非常流...

Redis---String数据类型的操作

一、概述:字符串类型是Redis中最为基础的数据存储类型,它在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。在Redis中字符串类型的...

NoSql之Redis数据类型

通过前面两篇博客,我们已经知道了NoSql以及redis的安装,今天我们正式介绍redis。redis简介       Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的...

NoSQL之Redis技术(二):数据类型和命令

在上篇博客中我写了redis技术的入门以及环境的搭配,今天正式进入redis内容的介绍,今天主要介绍redis技术的数据类型和一些常用的命令。 我们说MySQL的数据类型可分为三大类,一是数值类型(...
  • qian_ch
  • qian_ch
  • 2017年03月27日 12:05
  • 441

redis基础之数据类型string

字符串类型 字符串类型是Redis中最基本的数据类型,它能存储

Redis数据类型-String

Redis数据类型Redis支持的数据类型:string,hash,list,set, zset(sorted set有序集合)String 字符串 redis最基本的类型,你可以理解为与Memcac...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:NoSQL之Redis对string数据类型的操作
举报原因:
原因补充:

(最多只允许输入30个字)