0
点赞
收藏
分享

微信扫一扫

005redis的数据类型


1、string类型

1.1、字符串类型是redis中最基本的数据类型,它能存储任何形式的内容,包含二进制数据,甚至是一张图片(二进制内容)。一个字符串类型的值存储的最大容量是1GB


1.2、命令
set/ get( setnx)
mset/mget
incr/decr/incrby/decrby/incrbyfloat
append
strlen





2、hash类型


2.1、hash类型的值存储了字段和字段值的映射,字段值只能是字符串,不支持其他数据类型。hash类型的键至多可以存储2^32-1      个字段。
2.2、hash类型适合存储对象:如图:1-1(行存储)和1-2(列存储)
     redis可以为任何键增减字段而不影响其他键
2.3、命令
hset/hget/hmset/hmget/hgetall(hsetnx)
hexists,判断键中的属性是否存在
hincrby(hash类型没有hincr命令)
hdel
hkeys/hvals
hlen(获取键中包含多少个字段)




3、list类型



3.1、list是一个 有序的字符串列表,列表 内部实现是使用 双向链表(linked list)实现的。
3.2、list还可以作为队列使用(后面讲)
     一个列表类型的键最多能容纳 2^23-1个元素。
3.3、命令


lpush/rpush/lpop/rpop

llen/lrange(-1表示最后一个元素的位置)

lrem(lrem key count value)count分为三种情况

count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。

count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。

count = 0 : 移除表中所有与 value 相等的值。

lindex(查询指定角标数据)

lset(修改)

ltrim(截取)

linsert(向指定元素前后插入元素)

rpoplpush:将元素从一个列表转到另一个列表




4、set类型


4.1、set集合中的元素都是不重复的,无序的,一个集合类型键可以存储至多     2^32-1   个元素


4.2、set集合类型和list列表类型的相似之处,如图:2-1所示
4.3、命令
sadd/smembers/srem/sismember
sdiff/sinter(交集)/sunion(并集)
sdiffstore/sinterstore/sunionstore
scard(获取集合长度)/spop(随机从集合中取出并删除一个元素)
srandmember key [count]
如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。
如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。





5、sorted set类型



关联了一个分数,这样可以很方便的获得 分数最高的N个元素(topN)。
5.2、有序集合类型和列表类型的差异


有序集合类型和列表类型的差异
相同点
(1)二者都是有序的
(2)二者都可以获得某一范围的元素
不同点
(1)列表类型是通过双向链表实现的,获取靠近两端的数据速度极快,当列表中元素增多后,访问中间的数据速度会很慢,所以它更加适合很少访问中间元素的应用
(2)有序集合类型是使用散列表和跳跃表(skip list)实现的,所以即使读取位于中间部分的数据速度也很快
(3)列表中不能简单的调整某个元素的位置,但是有序集合可以(通过更改这个元素的分值)
(4)有序集合要比列表类型更耗费内存



5.3、命令
zadd/zscore/zrange/zrevrange/
zrangebyscore(默认是闭区间,可使用"("使用开区间)
zincrby/zcard/zcount(获取指定分数范围的元素个数)
zrem/zremrangebyrank/zremrangebyscore
扩展:+inf(正无穷)     -inf(负无穷)

举报

相关推荐

Redis的数据类型

redis的数据类型

redis -- 数据类型

【Redis】数据类型

Redis 数据类型

redis 数据类型

Redis数据类型

0 条评论