【学习笔记】高并发必备技术——3.Redis的数据结构

目录

1.String常用命令

1.set/get

2.mget/mset

3.incr

4.incrby

5.setex

6.setnx

7.getset

2.List常用命令

1.lpush

2.rpop

3.llen

4.lindex

5.lrange

6.rpush

7.lpop

8.brpop

9.lrem

3.Hash

1.hset

 2.hget

3.hgetall

4.hdel

 5.hexists

6.hincrby

 7.hmset

8.hmget

4.Set常用命令

1.sadd

2.scard

3.sdiff

4.sinter

5.sismember

6.srem

5.Sorted Set

1.zadd

2.zcard

3.zincrby

4.zrange

5.zrevrange

6.zrevrank

7.zrank

8.zrem

9.zscore

10.zcount


1.String常用命令

1.set/get

命令:set/get key

举例:set age 返回OK get age 返回24

2.mget/mset

批量设置/获取多个key

命令:mset key value key value

mget key key

举例:mset name zxt age 24 返回OK

mget name age 返回"zxt""24"

3.incr

将key对应的value值加1

命令:incr key

举例:incr age 返回25

4.incrby

将key对应的值加increment,若key不存在则创建并重置为0

命令:incrby key increment

举例:incrby age 10返回35

incrby score 99 返回99

5.setex

给key的value值设置过期时间为seconds秒

命令:setex key seconds value

举例:setex age 10 35 返回OK表示给age的value值35设置10秒过期时间

6.setnx

给key设置value,如果key不存在则创建,存在则无操作,相当于set if not exist

命令:setnx key value

举例:setnx name jack 返回0

setnx names zzz 返回OK

7.getset

设置key的value值,并返回之前的值

命令:getset key value

举例:getset name zzz 返回“zxt”

2.List常用命令

1.lpush

将一个或多个值插入到列表

命令:lpush key value value

【学习笔记】高并发必备技术——3.Redis的数据结构_第1张图片【学习笔记】高并发必备技术——3.Redis的数据结构_第2张图片

2.rpop

移除并获取列表最后一个元素

命令:rpop key

【学习笔记】高并发必备技术——3.Redis的数据结构_第3张图片

3.llen

获取列表长度

命令:llen key

4.lindex

通过索引获取列表中的元素

命令:lindex key index

5.lrange

获取key对应的list的指定下标范围的元素

命令:lrange key start stop

注意:0表示列表第一个元素,1表示第二个 

6.rpush

在key对应的list尾部添加元素

命令:rpush key value1 value2

【学习笔记】高并发必备技术——3.Redis的数据结构_第4张图片

7.lpop

从列表删除第一个元素,并返回该元素

命令:lpop key

8.brpop

移除并获取列表的最后一个元素,如果没有元素会阻塞队列直到等待超时或发现元素为止

命令:brpop key timeout

【学习笔记】高并发必备技术——3.Redis的数据结构_第5张图片

【学习笔记】高并发必备技术——3.Redis的数据结构_第6张图片

可以看到,当key中有字段的时候返回的是value值,当key中没有元素的时候,就会超时,此时如果加入元素再执行就会正常返回。

9.lrem

移除元素

lrem key count value

 【学习笔记】高并发必备技术——3.Redis的数据结构_第7张图片

 可以看到有2个ZTE元素,那么我们可以选择移除ZTE

 【学习笔记】高并发必备技术——3.Redis的数据结构_第8张图片

3.Hash

应用场景:购物车、商品详情等

1.hset

命令:hset key field value

 2.hget

命令:hget key field

3.hgetall

返回key中的所有字段和值

命令:hgetall key 

4.hdel

从key中删除指定的字段

命令:hdel key field

 5.hexists

返回key中的field是否存在

命令:hexists key field

 

6.hincrby

增加key指定的哈希集中指定字段的数值,如果是-1则是递减

命令:hincrby key field increment

 

 7.hmset

命令:hmset key field1 value1 field2 value2

【学习笔记】高并发必备技术——3.Redis的数据结构_第9张图片 【学习笔记】高并发必备技术——3.Redis的数据结构_第10张图片

8.hmget

命令:hmget key field1 field2

4.Set常用命令

1.sadd

添加一个或多个指定的member元素到key中

命令:sadd key number number...

【学习笔记】高并发必备技术——3.Redis的数据结构_第11张图片

2.scard

返回key长得集合元素

命令:scard key

3.sdiff

返回第一个key与后面key的差集

命令:sidff key1 key2

【学习笔记】高并发必备技术——3.Redis的数据结构_第12张图片

4.sinter

返回指定集合的所有元素交集

命令:sinter key1 key2

5.sismember

返回元素member是否是key的成员

命令:sismember key member

6.srem

删除key中指定元素,若该元素不是key中成员则忽略

命令:srem key member member

5.Sorted Set

与set区别是,set是无序的,Sorted Set是有序的

应用场景:实时排行榜,例如积分榜;朋友圈点赞

1.zadd

向有序集合添加一个或多个成员,或者更新已存在的成员分数

命令:zadd key score1 member1 score2 member2...

【学习笔记】高并发必备技术——3.Redis的数据结构_第13张图片

2.zcard

返回成员数

命令:zcard key

【学习笔记】高并发必备技术——3.Redis的数据结构_第14张图片

 忽略我打错的那句= =

3.zincrby

对指定成员的分数加increment

命令:zincrby key incrment member

4.zrange

返回区间内的成员,成员按照score递增排序

命令:zrange key start stop withscores

【学习笔记】高并发必备技术——3.Redis的数据结构_第15张图片

 注意:不需要依靠分数排序的话可以删掉withscores

5.zrevrange

返回区间内的成员,按照score递减排序

命令:zrevrange key start stop withscores

【学习笔记】高并发必备技术——3.Redis的数据结构_第16张图片

6.zrevrank

返回集合成员member的排名,按照score递减排序

命令:zrevrank key member

7.zrank

返回集合中成员member的排名,按照score递增排序

命令:zrank key member

【学习笔记】高并发必备技术——3.Redis的数据结构_第17张图片

8.zrem

移除集合中的一个或多个

命令:zrem key member1 member2

9.zscore

返回集合中成员的分数值

命令:zscore key member

10.zcount

计算在指定区间内分数内的成员数

命令:zcount key min max

你可能感兴趣的:(Redis,学习,redis)