0
点赞
收藏
分享

微信扫一扫

ASP.NET Core微服务(六)——【redis命令详细列表2】


ASP.NET Core微服务(六)——【redis命令详细列表2】_数据库

ASP.NET Core微服务(六)——【redis命令详细列表2】

目录

​​ASP.NET Core微服务(六)——【redis命令详细列表2】​​

​​基础环境​​

​​redis列表类型——list​​

​​删除列表key的表头元素【最左】并返回:lpop key​​

​​删除列表key的表头元素【最右】并返回:rpop key​​

​​获取列表长度​​

​​删除列表值​​

​​Redis集合类型——set​​

​​添加set​​

​​查询set​​

​​判断指定元素在指定集合中是否存在sismember​​

​​获取指定集合的长度:scard key​​

​​移除指定集合中一个或者多个元素:srem key member1​​

​​随机获取指定集合中的n个元素srandmember key [count]​​

​​返回差集sdiff key1 key2​​

​​返回交集sinter key1 key2​​

​​返回并集sunion key1 key2​​

 

基础环境

redis列表类型——list

列表左侧插入value——list列表头部

lpush key value 

示例

lpush mylist a1
lpush mylist a2

查看list列表值范围

lrange key startIndex endIndex

这里的100就是个超下标范围的数字,没有其它特殊含义,为了表示redis中的list不会出现越界异常,也可以使用-1代表结尾。

lrange mylist 0 100
lrange mylist 0 -1

ASP.NET Core微服务(六)——【redis命令详细列表2】_redis命令_02

列表右侧插入value——list列表尾部

rpush key value

lrange mylist 0 -1
rpush mylist a3
rpush mylist a4
lrange mylist 0 -1

注意向右添加,效果也是很明显的呢。 

ASP.NET Core微服务(六)——【redis命令详细列表2】_redis命令_03

删除列表key的表头元素【最左】并返回:lpop key

在以上列表中可以看到其中mylist的最左侧是a2,我们尝试获取一下:

ASP.NET Core微服务(六)——【redis命令详细列表2】_redis_04

删除列表key的表头元素【最右】并返回:rpop key

在以上列表中可以看到其中mylist的最右侧是a4,我们尝试获取一下:

ASP.NET Core微服务(六)——【redis命令详细列表2】_redis_05

我们可以看到,无论是左右都会在获取信息后在列表中删除自身的存在。

这个狠重要,在做队列操作的时候还是很有帮助的。

获取列表长度

llen key

ASP.NET Core微服务(六)——【redis命令详细列表2】_redis_06

我们当前的数量可能会少一些,但是如果这个列表是做k线的,那么就会很长,可能是每分钟1个点,在以年为单位计算的时候就很有必要了,我们也不可能给用户这么多信息,我当年做的时候只提供1000条最近数据,超过1000条需要vip功能,多收一次,挺happy的呢。毕竟数据是无价的。

删除列表值

lrem key count value

这里这个count需要说明一下:count>0:从表头开始数前n个;count<0:从表尾开始数前n个;count=0:移除所有跟value相同的元素。

lrem mylist 0 a1

lrange mylist 0 -1

ASP.NET Core微服务(六)——【redis命令详细列表2】_asp.net_07

对于列表来说Redis命令就演示完毕了。 

Redis集合类型——set

set集合大家有知道的特性是无序且不重复,那么很多之后可以直接使用set去重。Redis中的集合set也是有相同特性的。

添加set

sadd key value 

sadd myset a1 a5 a6

ASP.NET Core微服务(六)——【redis命令详细列表2】_asp.net_08

查询set

smembers key

smembers myset

很明显能看出来是无序的。 

ASP.NET Core微服务(六)——【redis命令详细列表2】_redis_09

我们再做一个重复值测试

sadd myset a1 a5 a6

只添加了a6,其它的都没有变化,说明特性不变。

ASP.NET Core微服务(六)——【redis命令详细列表2】_redis命令_10

判断指定元素在指定集合中是否存在sismember

sismember key member

集合中存在返回1,不存在返回0。

sismember myset a2
sismember myset a7
smembers myset

ASP.NET Core微服务(六)——【redis命令详细列表2】_redis命令_11

获取指定集合的长度:scard key

scard myset

ASP.NET Core微服务(六)——【redis命令详细列表2】_asp.net_12

移除指定集合中一个或者多个元素:srem key member1

这里有一个特殊功能,就是如果删除的值不存在就忽略

srem myset a1 a2 a10
smembers myset

很明显,我写的删除三个,但是由于a10没有,故而删除2个。 

ASP.NET Core微服务(六)——【redis命令详细列表2】_redis_13

随机获取指定集合中的n个元素srandmember key [count]

key后面可以放count,如果不加count则返回来随机1个值,用在发牌上很合适。

srandmember key
srandmember key 1

ASP.NET Core微服务(六)——【redis命令详细列表2】_redis_14

返回差集sdiff key1 key2

我们再创建一个,用于做对照

sadd myset1 a1 a5 a6 a7 a8 a9
sdiff myset myset1

ASP.NET Core微服务(六)——【redis命令详细列表2】_数据库_15

差集,很明显myset-myset1剩余a3与a4。

返回交集sinter key1 key2

sinter  myset myset1

ASP.NET Core微服务(六)——【redis命令详细列表2】_asp.net_16

俩集合都有的a5和a6。 

返回并集sunion key1 key2

sunion myset myset1

俩合并,查看一下,相同的默认去重,其余的都有。 

ASP.NET Core微服务(六)——【redis命令详细列表2】_redis命令_17

到这里set集合就讲解完毕了。

举报

相关推荐

0 条评论