您的位置:首页 > 数据库 > Redis

redis数据类型

2015-10-23 07:11 561 查看
1.Redis strings

> set key1  aaa

> get key1


set命令将取代现有的任何已经存在的key。SET命令还有一个提供附加参数的选项,能够让SET命令只有在没有相同key的情况下成功

反之,可以让SET命令在有相同key值得情况下成功。

> set key2 bbb nx

> set key2 ccc xx


也可以对其进行一些有趣的操作,例如加法器:

> set counter 100

> incr counter> incrby counter 50


INCR命令让the value 成为一个整数,运行一次INCR便+1。

INCRBY命令便是一个加法运算。

减法运算为: DECR and DECRBY

用MSET and MGET 命令完成一次性的完成多个key-value的对应关系,使用MGET命令,Redis返回一个value数组

> mset a 10 b 20 c 30

> mget a b c


2.Redis Lists

列表是简单的字符串列表,按照插入顺序排序。

可以添加一个元素导列表的头部(左边)或者尾部(右边)

LPUSH 命令插入一个新的元素导头部, 而 RPUSH插入一个新元素导尾部.

当一个这两个操作在一个空的Key上被执行的时候一个新的列表被创建。

如果一个列表操作清空一个列表那么对应的key将被从key空间删除。

> rpush list A

> rpush list B

> lpush list first

> lrange list 0 -1


LRANGE 利用了两个检索值,0表示list的开头第一个,-1表示list的倒数第一个,即最后一个。-2则便是list的倒数第二个,以此类推。

一次加入多个元素放入list

> rpush list 1 2 3 4 5 "aa"
> lrange list 0 -1


POP命令返回值为取出list的元素。和PUSH操作类似,POP命令可以选择不同的方向取出元素.

> del  list
> rpush  list a b c
> rpop  list
> lrange  list 0 -1


3.Redis Hashes

Redis Hashes是字符串字段和字符串值之间的映射,因此是展现对象的完美数据类型。

> hmset user:100 username aaa birthyear 1989 verified 1
> hget user:100 username
> hget user:100 birthyear
> hgetall user:100
> hmget user:100  username birthyear no-such-field


HMSET命令设置一个多域的hash表,HGET命令获取指定的单域,HGETALL命令获取指定key的所有信息。

HMGET类似于HGET,只是返回一个value数组

可以根据需要对hash表的表项进行单独的操作,例如 HINCRBY

> hincrby user:100 birthyear 10


4.Redis 无序集合

集合(Set)是一个无序的字符串集合

Redis 集合拥有令人满意的不允许包含相同成员的属性。多次添加相同的元素,最终在集合里只会有一个元素。

> sadd set1 1 2 3
> smembers set1


SADD命令产生一个无序集合,返回集合的元素个数。SMEMBER用于查看集合。

SISMEMBER用于查看集合是否存在,匹配项包括集合名和元素个数。匹配成功返回1,匹配失败返回0.

> sismember set1 3
> sismember mys 3


5.Redis有序集合

Redis有序集合,是一个没有重复元素的字符串集合。

成员都关联了一个评分,这个评分被用来按照从最低分到最高分的方式排序集合中的成员。

> zadd hackers 110 "aa"

> zadd hackers 120 "bb"

> zadd hackers 130 "cc"

> zadd hackers 100 "dd"

> zrange hackers 0 -1

> zrevrange hackers 0 -1

> zrange hackers 0 -1 withscores


ZADD添加成员

ZRANGE是查看正序的集合,ZREVRANGE是查看反序的集合。0表示集合第一个元素,-1表示集合的倒数第一个元素。

使用WITHSCORES 参数返回,成员和评分
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: