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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: ASP.NET Core微服务(六)——【redis命令详细列表2】

基础环境

https://blog.csdn.net/feng8403000/article/details/127231048


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

image.png

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


rpush key value


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

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


image.png


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

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


image.png


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

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

image.png



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


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


获取列表长度

llen key


image.png


我们当前的数量可能会少一些,但是如果这个列表是做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

image.png

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


Redis集合类型——set

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


添加set

sadd key value

image.png

查询set

smembers key


smembers myset

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


image.png


我们再做一个重复值测试

sadd myset a1 a5 a6

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

image.png



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

sismember key member


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

sismember myset a2
sismember myset a7
smembers myset

image.png

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

image.png


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

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

srem myset a1 a2 a10
smembers myset

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


image.png


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

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

image.png

返回差集sdiff key1 key2

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


image.png

image.png

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


返回交集sinter key1 key2

image.png


俩集合都有的a5和a6。


返回并集sunion key1 key2

sunion myset myset1

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


image.png


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

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
29天前
|
NoSQL Java Redis
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
分布式锁实现原理问题之使用Redis的setNx命令来实现分布式锁问题如何解决
|
22天前
|
存储 缓存 NoSQL
Redis 全局通用命令整理
Redis 全局通用命令整理
48 10
|
22天前
|
存储 JSON NoSQL
Redis常见命令大全
【7月更文挑战第30天】
11 3
|
21天前
|
NoSQL Redis 索引
Redis 中ZSET数据类型命令使用及对应场景总结
Redis 中ZSET数据类型命令使用及对应场景总结
31 2
|
21天前
|
NoSQL Redis
Redis set数据类型命令使用及应用场景使用总结
Redis set数据类型命令使用及应用场景使用总结
22 1
|
26天前
|
NoSQL 网络协议 Redis
Redis性能优化问题之如何判断 Redis 性能下降是否由复杂度过高的命令引起
Redis性能优化问题之如何判断 Redis 性能下降是否由复杂度过高的命令引起
|
26天前
|
编解码 NoSQL Redis
c++开发redis module问题之想实现Redis命令,如何解决
c++开发redis module问题之想实现Redis命令,如何解决
|
26天前
|
NoSQL Java 编译器
c++开发redis module问题之保证Redis在fork时没有处于inflight状态的命令,如何解决
c++开发redis module问题之保证Redis在fork时没有处于inflight状态的命令,如何解决
|
4天前
|
NoSQL Java Redis
Redis字符串数据类型之INCR命令,通常用于统计网站访问量,文章访问量,实现分布式锁
这篇文章详细解释了Redis的INCR命令,它用于将键的值增加1,通常用于统计网站访问量、文章访问量,以及实现分布式锁,同时提供了Java代码示例和分布式锁的实现思路。
12 0
|
26天前
|
NoSQL Redis C++
c++开发redis module问题之对于写命令,进行主备复制和写AOF,如何解决
c++开发redis module问题之对于写命令,进行主备复制和写AOF,如何解决