Redis基础4 Redis的数据结构

 

Redis基础4 Redis的数据结构

1 字符串

 

Redis基础4 Redis的数据结构

Redis基础4 Redis的数据结构

 

数值操作 get set del

Getset 先获取再设置

Redis基础4 Redis的数据结构

数值value的增减 incr decr incrby decrby

如果key不存在,设置初值为0再加减1

累加的value值如果是字符串,抛异常

incrby decrby 累加/累减指定的值

Redis基础4 Redis的数据结构

Redis基础4 Redis的数据结构

Redis基础4 Redis的数据结构

拼凑字符串 append 在原value基础上拼接字符串 没有则创建

Redis基础4 Redis的数据结构

 

2 哈希

Redis基础4 Redis的数据结构

Redis基础4 Redis的数据结构

 

赋值 

Hset 设置hash对象一个key-value对、Hmset 设置hash对象多个key-value对

Hget 获取hash对象下的一个key对应的值

hmget获取hash对象下的多个key对应的值

Hgetall 获取hash对象所有key-value

Hdel 删除hash对象中指定key的key-value

del 删除整个hash对象

Redis基础4 Redis的数据结构

 

 

增加 hincrby

Redis基础4 Redis的数据结构

判断hash对象中key是否存在

Redis基础4 Redis的数据结构

获取hash对象key的数量

Redis基础4 Redis的数据结构

获取hash对象所有key

Redis基础4 Redis的数据结构

获取hash对象所有value

Redis基础4 Redis的数据结构

3 List

有排序列表

Redis基础4 Redis的数据结构

ArrayList数组方式:访问数据快,单数增加删除数据困难

双向链表:每一个元素都有上一个对象和下一个对象的指针,增加删除简单

Redis基础4 Redis的数据结构

两端添加 lpush左侧 rpush右侧

Redis基础4 Redis的数据结构

3 2 1 c b a

a b c 1 2 3

 

查看列表 lrange

Redis基础4 Redis的数据结构

两端弹出 lpop弹出第一个元素、rpop弹出最后一个元素

Redis基础4 Redis的数据结构

获取列表元素个数

Redis基础4 Redis的数据结构

列表存在才添加 lpushx rpushx

Redis基础4 Redis的数据结构

批量删除数据lrem

列表从头到尾遍历,删除两个3

Redis基础4 Redis的数据结构

列表从尾到头,删除两个1

Redis基础4 Redis的数据结构

删除列表里的所有2

Redis基础4 Redis的数据结构

 

设置列表某位的值 lset 0第一个元素 -1最后一个元素

Redis基础4 Redis的数据结构

插入元素 linsert

Redis基础4 Redis的数据结构

将某链表尾端数据弹出并添加到另一个链表头部 rpoplpush

Redis基础4 Redis的数据结构

使用场景:消息队列

一个列表添加消息-生产者

一个列表取出消息-消费者

Redis基础4 Redis的数据结构

4 set

无排序列表,元素不重复

Redis基础4 Redis的数据结构

Redis基础4 Redis的数据结构

 

添加删除元素 sadd srem

Redis基础4 Redis的数据结构

获取集合中的元素smembers

Redis基础4 Redis的数据结构

判断集合中有没有某元素sismember

Redis基础4 Redis的数据结构

差集运算sdiff

Redis基础4 Redis的数据结构

交集运算sinter

Redis基础4 Redis的数据结构

并集运算sunion

Redis基础4 Redis的数据结构

获得set成员数量scard

Redis基础4 Redis的数据结构

随机返回set的一个成员 srandmember

Redis基础4 Redis的数据结构

将差集/交集/并集存储到另外一个集合上

Redis基础4 Redis的数据结构

 

Set的使用场景:

跟踪一些唯一性数据

使用差交并集操作,维护数据对象的关联关系

(比如,两个用户微博关注的共同好友)

 

5 sorted-set

与set的区别在于:sorted-set的每个元素都定义了一个分数,根据分数进行排序。集合元素不能重复,分数可以重复。

成员在集合中的位置是有序的。

Redis基础4 Redis的数据结构

添加元素 zadd分数,值

如果元素就存在,更新分数

Redis基础4 Redis的数据结构

获得元素

  获得数量

Redis基础4 Redis的数据结构

  获得分数

Redis基础4 Redis的数据结构

删除元素zrem

Redis基础4 Redis的数据结构

按照范围删除

删除前4个元素

Redis基础4 Redis的数据结构

按照分数删除元素 删除80-100分之间的元素

Redis基础4 Redis的数据结构

 

范围查询zrange

Redis基础4 Redis的数据结构

由大到小查询

Redis基础4 Redis的数据结构

根据分数范围查询元素

Redis基础4 Redis的数据结构

增加某元素分数

Redis基础4 Redis的数据结构

获取分数在某个范围的成员个数

Redis基础4 Redis的数据结构

 

Redis基础4 Redis的数据结构

相关文章: