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
基础环境
https://blog.csdn.net/feng8403000/article/details/127231048
redis列表类型——list
列表左侧插入value——list列表头部
lpush key value
示例
代码语言:javascript复制lpush mylist a1
lpush mylist a2
查看list列表值范围
lrange key startIndex endIndex
这里的100就是个超下标范围的数字,没有其它特殊含义,为了表示redis中的list不会出现越界异常,也可以使用-1代表结尾。
代码语言:javascript复制lrange mylist 0 100
lrange mylist 0 -1
列表右侧插入value——list列表尾部
代码语言:javascript复制rpush key value
lrange mylist 0 -1
rpush mylist a3
rpush mylist a4
lrange mylist 0 -1
注意向右添加,效果也是很明显的呢。
删除列表key的表头元素【最左】并返回:lpop key
在以上列表中可以看到其中mylist的最左侧是a2,我们尝试获取一下:
删除列表key的表头元素【最右】并返回:rpop key
在以上列表中可以看到其中mylist的最右侧是a4,我们尝试获取一下:
我们可以看到,无论是左右都会在获取信息后在列表中删除自身的存在。
这个狠重要,在做队列操作的时候还是很有帮助的。
获取列表长度
llen key
我们当前的数量可能会少一些,但是如果这个列表是做k线的,那么就会很长,可能是每分钟1个点,在以年为单位计算的时候就很有必要了,我们也不可能给用户这么多信息,我当年做的时候只提供1000条最近数据,超过1000条需要vip功能,多收一次,挺happy的呢。毕竟数据是无价的。
删除列表值
lrem key count value
这里这个count需要说明一下:count>0:从表头开始数前n个;count<0:从表尾开始数前n个;count=0:移除所有跟value相同的元素。
代码语言:javascript复制lrem mylist 0 a1
lrange mylist 0 -1
对于列表来说Redis命令就演示完毕了。
Redis集合类型——set
set集合大家有知道的特性是无序且不重复,那么很多之后可以直接使用set去重。Redis中的集合set也是有相同特性的。
添加set
代码语言:javascript复制sadd key value
sadd myset a1 a5 a6
查询set
smembers key
代码语言:javascript复制smembers myset
很明显能看出来是无序的。
我们再做一个重复值测试
代码语言:javascript复制sadd myset a1 a5 a6
只添加了a6,其它的都没有变化,说明特性不变。
判断指定元素在指定集合中是否存在sismember
sismember key member
集合中存在返回1,不存在返回0。
代码语言:javascript复制sismember myset a2
sismember myset a7
smembers myset
获取指定集合的长度:scard key
代码语言:javascript复制scard myset
移除指定集合中一个或者多个元素:srem key member1
这里有一个特殊功能,就是如果删除的值不存在就忽略
代码语言:javascript复制srem myset a1 a2 a10
smembers myset
很明显,我写的删除三个,但是由于a10没有,故而删除2个。
随机获取指定集合中的n个元素srandmember key [count]
key后面可以放count,如果不加count则返回来随机1个值,用在发牌上很合适。
代码语言:javascript复制srandmember key
srandmember key 1
返回差集sdiff key1 key2
我们再创建一个,用于做对照
代码语言:javascript复制sadd myset1 a1 a5 a6 a7 a8 a9
sdiff myset myset1
差集,很明显myset-myset1剩余a3与a4。
返回交集sinter key1 key2
代码语言:javascript复制sinter myset myset1
俩集合都有的a5和a6。
返回并集sunion key1 key2
代码语言:javascript复制sunion myset myset1
俩合并,查看一下,相同的默认去重,其余的都有。
到这里set集合就讲解完毕了。