Redis数据类型

字符串string
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value;
string类型是二进制安全的。意思是redis的string可以包含任何数据。如jpg图片或者序列化的对象 ;
string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M;

列表list
redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。它的底层实际是个链表。

集合set
redis的set是string类型的无序集合。它是通过HashTable实现的。

有序集合zset
redis的zset 和 set 一样也是string类型元素的集合,且不允许重复的成员;
不同的是每个元素都会关联一个double类型的分数;
redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复;

哈希hash
redis的hash 是一个键值对集合;
redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象;
类似Java里面的Map<String,Object>

 

redis常见的操作命令

官方地址:http://redisdoc.com/

字符串string

命令

描述

 keys *

获取所有的key

set key value

设置指定 key 的值

get key

获取指定 key 的值

incr key

将 key 中储存的数字值增一

decr key

将 key 中储存的数字值减一

getset key value

先获取,再设置

incrby key count

将key 中储存的数字值增加指定数量

decrby key count

将key 中储存的数字值减少指定数量

append key value

如果 key 已经存在并且是一个字符串,将 value 追加到 key 原来的值的末尾;若无,则设置一个

del key

删除key

列表list

命令

命令描述

lpush key value1 value2...

将一个或多个值插入到列表头部(左边),没有的话会创建一个

rpush key value1 value2...

在列表中添加一个或多个值(右边),没有的话会创建一个

lpop key

左边弹出一个 相当于移除第一个

rpop key

右边弹出一个 相当于移除最后一个

lrange key startindex endindex

获取列表指定范围内的元素eg:(0 -1:查看所有, 0 3查看前4个)

llen key

返回指定key所对应的list中元素个数

lrem key count member

在key中移除指定个数的成员count > 0:从左往右移除指定个数,count < 0:从右往左移除指定个数, count = 0:清空list中指定元素

lset key index value

通过索引设置列表元素的值(0代表第一个元素, 1代表第二个,-1代表尾元素),

linsert key before|after pivot value

在pivot元素前或者元素后插入一个值

rpoplpush resource destination

移除列表的最后一个元素,并将该元素添加到另一个列表并返回 

集合set

命令

命令描述

sadd key member1 [member2]

向集合添加一个或多个成员

srem key member1 [member2]

移除一个成员或者多个成员

smembers key

返回集合中的所有成员,查看所有

sismember key member

判断一个set中是否有指定的member

sdiff key1 key2

返回给定集合的差集

sunion key1 key2

返回给定集合的并集

sinter key1 key2

返回给定集合的交集

scard key

获得set中成员的数量

srandmember key

随机返回set的一个成员

sdiffstore key1 key2 key3

将差异的部分插入key1

有序集合zset

命令

命令描述

zadd key score1 member1[ score2 member2]

添加一个或者多个

zcard key

获得集合成员数量

zscore key member

获取元素的得分

zrem key member1[member2]

删除一个或者多个成员

zrange key startindex endindex [withscores]

按照分数的从小到大的顺序展示所有的元素

zrevrange key start stop [withscores]

按照分数的从大到小的顺序展示所有的元素

哈希hash

命令

命令描述

hset key filed value

将哈希表 key 中的字段 field 的值设为 value

hmset key field1 value1 [field2 value2]...

同时将多个 field-value (字段-值)对设置到哈希表 key 中

hget key filed

获取存储在哈希表中指定字段的值

hmget key filed1 filed2

获取多个给定字段的值

hgetall key

获取在哈希表中指定 key 的所有字段和值

hdel key filed1 [filed2]

删除一个或多个哈希表字段

del key

删除整个hash(对象)s

hlen key

获取哈希表中字段的数量

hincrby key filed count

为哈希表 key 中的指定字段的浮点数值加上增量 count。

hkeys key

获取所有哈希表中的字段

hvals key

获得所有的value

HEXISTS key field

查看哈希表 key 中,指定的字段是否存在。