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

redis五种基本数据类型

2017-02-25 17:23 337 查看
1、string类:一个key对应一个value(key:value)。string类是二进制安全,可以包含任何数据(例如:图片、音乐)。

2、hash类:string类型field和value的映射表。特别适合存储对象。

3、list类:链表数据结构,主要功能push、pop、获取范围所有值。[b]list类每个子元素都是string类型的双向链表。可以通过push、pop操作从链表头部或者尾部增加删除元素。这样子list既可以作为栈,也可以作为队列。[/b]

4、set类:set集合中元素是唯一不能重复,而且是无顺序。差集、交集、并集操作。

5、zset类:zset类是set集合的扩展,zset集合中元素是唯一不能重复,但是有顺序。[b]zset类在set类基础上增加了一个顺序的属性[/b]

1.1、string类操作命令

set key value

setnx key value(nx代表not exist,不存在才增加键值)

setex (ex代表expire有效期,以时间秒为单位)

mset:一次性设置多键值

msetnx:(nx代表not exist,不存在才增加键值)

get key:获取值

mget:批量获取值

incr:对key的值做加操作(+1)

incrby:对key的值做指定值加操作(+x)

decr:对key的值做加操作(-1)

decrby:对key的值做指定值加操作(-x)

strlen:取指定key的value值长度

2.1、hash类操作命令

hset: 设置hash表。例如:hset hashtable field_1 value_1

hget:获取hash表

hsetnx: (nx代表not exist,hash表不存在才增加键值)

hmset:设置hash表多字段和值。例如:hset hashtable field_1 value_1 field_2 value_2

hincrby:设置hash表某字段值增加。例如:hincrby hashtable field 8

hexists:检查field是否存在

hdel:删除hash表字段

hkey:返回hash表的所有field字段

hvals:返回hash表的所有value值

hlen:统计hash表field个数

3.1、list类

lpush:往list头部添加元素。例如:lpush mylist "hello"

rpush:往list尾部添加元素。例如:lpush mylist "hello"

lrange:查询list元素。例如查询list全部元素:lrange mylist 0 -1

lset:设置指定下标的值

lrem:从list删除元素(rem:remove意思)

ltrim:保留知道范围内的元素

lpop:从list头部删除元素,并返回删除元素

rpop:从list尾部删除元素,并返回删除元素

rpoplpush:从第一个list的尾部移除元素,并添加第二个list的头部

lindex:返回list指定index元素

llen:返回list元素个数

4.1、set类

sadd:向set集合添加元素。例如:sadd myset "hello"

smembers:查询集合的成员

srem:删除集合的元素

spop:随机删除一个元素

sdiff:两个集合的查集

sdiff:两个集合差集,并将差集保存到另一个集合。 例如myset1和myset2差集保存到myset3:sdiffstore myset3 myset1 myset2

sinter:返回两集合的交集

sinterstore:两个集合交集,并将交集保存到另一个集合

sunion:返回两集合的并集

sunionstore:两个集合并集,并将并集保存到另一个集合

smove:将元素从一个集合移动到另一个集合。例如:smove myset1 myset2 "hello"

sismember:查看元素是否是集合元素

scard:查看元素个数

[b]5.1、zset类[/b]

zadd:向set集合添加元素,添加元素时两个值(元素值、顺序值)。例如:zadd myset 1 "one"

zrange:查询集合元素。例如:zrange myset 0 -1 withscores

zrem:删除集合元素

zincrby:增加指定顺序值

zrank:依据索引排序

zrevrank:依据索引反序排序

zrevrange:依据索引降序排序

zrangebystore:返回集合中score在给定区间的元素,顺序排序。例如2-3是顺序区间:zrangebystore myset 2 3 withscores

zcount:返回集合中score在给定区间的数量。例如2-3是顺序区间:zcount myset 2 3 withscores

zremrangebyrank:删除集合中排名在给定区间的元素。例如:(1-1是代表索引:zremrangebyrank myset 1 1 )

zcard:返回集合元素个数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: