Redis sort命令详解

Python实战:动态爬取国家地表水水质实时监测数据(附最新代码解析) 本文详细介绍了使用Python动态爬取国家地表水水质实时监测数据的实战方法。针对动态网站数据加载特点,重点解析了如何利用Selenium模拟浏览器操作、结合BeautifulSoup解析数据,并提供了最新的代码实现与常见问题解决方案,帮助开发者高效获取环境监测数据。 阅读详情

redis的sort命令,可能算得上redis里面最复杂的一个命令了,命令原型如下:

SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]

如果不仔细看文档,或者看源码,一下子真的不知道这个命令怎么用。首先我们可以去掉LIMIT offset count这个选项,这个很容易理解,就是排好序之后取偏移数据。ASC和DESC这个也比较容易,就是正向和逆向排序。STORE destination这个其实就是将排好序的数据放到destination这个list里面,也比较容易理解。好了,去掉这些,那么sort的原型就是这个样子了:

SORT key [BY pattern] [GET pattern [GET pattern ...]] [ALPHA]

key里面存储的就是需要排序的东西,所以key只能是list,set或者zset类型,我们以list为例。假设做如下操作:

redis> lpush a 1 2 3
redis> lrange a 0 -1
1) "3"
2) "2"
3) "1"

如果使用sort,则排序结果如下:

redis> sort a
1) "1"
2) "2"
3) "3"

那么ALPHA是什么意思呢?我们可以做如下操作解释:

redis> lpush b a1 a2 a3
redis> sort b
(error) ERR One or more scores can't be converted into double
redis> sort b alpha
1) "a1"
2) "a2"
3) "a3"

我们在b里面压入的是字符串,所以不能直接sort,必须指定alpha方式。所以alpha就是明确告知sort使用字节序排序,不然sort就会尝试将需要排序的数据转成double类型。

理解了alpha,我们再来看看by的含义,如下例子:

redis> set w_1 30
redis> set w_2 20
redis> set w_3 10
redis> sort a by w_*
1) "3"
2) "2"
3) "1"
127.0.0.1:6379>

如果有by了,sort就会首先取出对应的数据,也就是1,2,3,然后跟by的pattern进行组合,变成w_1,w_2,w_3,然后以这个作为key去获取对应的值,也就是30,20,10,再按照这些值进行排序。上面这个例子,1对应的by值最大,为30,所以升序排列的时候在最后。

说完了by,我们再来说说get,get是不参与排序的,只是在排完序之后,将排好序的值依次跟get的pattern组合,获取对应的数据,进行返回,如下例子:

redis> set o_1 10
redis> set o_2 20
redis> set o_3 30
redis> sort a get o_*
1) "10"
2) "20"
3) "30"

再来一个多个get的例子:

redis> set oo_1 100
redis> set oo_2 200
redis> set oo_3 300
redis> sort a get o_* get oo_*
1) "10"
2) "100"
3) "20"
4) "200"
5) "30"
6) "300"

从上面可以看到,如果有多个get,那么sort的做法是对于排好序的一个值,依次通过get获取值,放到结果中,然再处理下一个值。

如果有get,我们就能获取到相关的值,但这时候我们还需要返回原有的值怎么办?只需要get #就成了,如下:

redis> sort a get o_* get #
1) "10"
2) "1"
3) "20"
4) "2"
5) "30"
6) "3"
实战 | OpenCV实现扫描文本矫正应用与实现详解(附源码) 导读 本文主要介绍使用OpenCV对扫描文本矫正的应用实例及详细实现步骤。 背景介绍 在使用打印机或扫描仪扫描文档时,由于摆放位置差异难免造成扫描文档的倾斜。本文将使用OpenCV将倾斜的文档矫正水平并去除黑边。 实现步骤 本文只针对包含大部分文字的文档做倾斜矫正,思路来源是大部分文字倾斜后同一行的也在同一条直线,通过拟合直线计算文本倾斜角度,然后旋转来实现文本倾斜矫正。 详细步骤: ①加载倾斜图像 ②灰度转换+腐蚀+膨胀 ③Canny边缘检测 + 霍夫线变换检测直线 ... 阅读详情

相关推荐

三部对接 sora-2:OpenAI 最新视频模型快速接入指南

本文介绍OpenAI最新视频生成模型Sora-2的接入方案,重点解析其Chat格式调用功能。开发者可通过在提示词中嵌入"横屏/竖屏""时长""清晰度"等要求快速生成视频。文章分三部分:1)基础准备(环境配置与API密钥获取);2)核心调用(提供Python/Java示例代码);3)结果查询与优化建议。Sora-2支持多语言调用,简化了视频生成流程,适用于短视频、广告创意等场景。

2501_93565190的博客 3422

ERR One or more scores can't be converted into double

redis list中存字符串时必须指定参数为alpha,如果不使用SortingParams,而是直接使用sort(“list”),就会报错: ERR One or more scores can't be converted into double 改正方法: SortingParams sortingParameters = new SortingParams(); ...

AAAhxz的博客 1359

macOS向日葵闪退终极修复:权限设置与后台运行全解析

本文详细解析了macOS上向日葵远程控制软件闪退问题的根源与解决方案,重点介绍了权限设置与后台运行的优化方法。通过配置屏幕录制、辅助功能等关键权限,以及优化后台进程管理,有效解决闪退问题,提升远程控制软件的稳定性与使用体验。

fern8的博客 1756

「Redis 学习笔记」排序

127.0.0.1:6379> zadd myzset 50 a 40 b 20 c 60 d (integer) 4 127.0.0.1:6379> sort myzset (error) ERR One or more scores can't be converted into double 127.0.0.1:6379> del myzset (integer) 1 127.0.0.1:6

说自己行就行 640

别再只调颜色阈值了!优化K210色块追踪性能的5个关键参数与实战技巧

本文深入探讨了K210色块追踪性能优化的五大核心策略,包括图像预处理参数精细调控、find_blobs参数进阶配置、运动控制算法升级、硬件时序优化以及可视化调试系统构建。通过实战技巧和参数调整方法,帮助开发者提升K210在色块追踪项目中的识别稳定性和响应速度,适用于云台追踪等应用场景。

weixin_42531588的博客 225

基于Unity引擎利用OpenCV和MediaPipe的面部表情和人体运动捕捉系统

增加了模型的绑定,利用Mediapipe这个强大的库可以实现识别面部表情的捕捉和人体结构运动的捕捉,基于以上的特性加入到Unity的人物模型中,实现实时的面部表情和人体运行的捕捉

BIgbossyii的博客 1万+

《Redis入门指南》笔记二

本篇幅讲解Redis的进阶知识

大脸猫的博客 322

FOC实战笔记:RC吸收电路的设计考量与参数调优

本文深入探讨了FOC驱动器中RC吸收电路的设计与调优。针对MOS管开关过程中的电压尖峰问题,详细阐述了RC电路的钳位与能量吸收原理,并提供了从参数计算、实验调试到布局布线的完整实战指南,旨在帮助工程师有效提升系统可靠性与稳定性。

weixin_29219539的博客 273

深入浅出Redis(十二):Redis的排序命令Sort

本篇文章围绕Sort命令,深入浅出的解析Sort命令原理以及使用Sort命令使用新的等长数组来对list、set、zset对象进行排序,其中数组中的节点RedisSortObject存储元素地址和权值,先使用节点记录要排序对象中元素的地址和权值,再使用快速排序根据权值进行排序然后返回默认情况下权值为浮点型,如果是对字符串类型排序,需要使用alpha选项;想要使用其他key作为权值排序时使用by选项;限制结果集返回使用limit;想要返回其他key的值时使用get选项;

关注菜菜的后端私房菜,获取更多技术干货~ 1361

【BUG已解决】ImportError: cannot import name ‘OpenAI‘ from ‘openai‘ 解决方案

的核心是版本不匹配用确认当前版本如果是 0.x 版本 →升级到 1.x升级后代码语法要同步改为团队协作项目务必在中锁定版本号,避免"我这能跑,你那不能跑"的问题对接国产模型时,只需替换base_url参数,SDK 调用方式完全一致。

一键难忘的博客 1万+

S7-1200 PN与G120变频器控制起停及调速PROFINET实现详解

S7-1200 PLC与G120变频器通过PROFINET通信可实现高效、实时的电机控制。2. 《S7-1200与G120 CU250S-2PN的PROFINET通讯指南》- 控制器:S7-1200 PLC (如1214C DC/DC/DC)- 变频器:G120 CU250S-2PN (带PROFINET接口)- 输出区(PZD1-2):控制字(16位)、速度设定值(16位)- 输入区(PZD1-2):状态字(16位)、实际速度值(16位)- P922=1:选择报文类型为"标准报文1 (PZD2/2)"

电工 1864

Redis进阶-排序SORT

目录 ▪️ 基本命令介绍: ▪️ 初步了解: ▪️ 列表、无序集合、有序集合排序 SORT: ▪️ 倒序 DESC参数 ▪️ LIMIT 参数 ▪️ 按参考键排序BY参数 ▪️ GET参数 ▪️ 将排序结果保存在key中 STORE参数 ▪️ 基本命令介绍: https://blog.youkuaiyun.com/qq_42816268/article/details/115178561 ▪️ 初步了解: 1)SORT命令的时间...

qq_42816268的博客 1019

EMB电子机械制动器夹紧力预估策略分析

本文探讨了电子机械制动器(EMB)夹紧力的四种预估方法:1)基于电机电流的方法简单经济但易受干扰;2)基于位置传感器的方法实时性好但依赖模型精度;3)直接力测量精度最高但成本较高;同时提出未来将结合AI和数字孪生技术提升预估精度。研究显示,准确的夹紧力预估对制动安全性、能效和舒适性至关重要,当前面临温度稳定性、参数漂移等技术挑战。随着智能算法的发展,EMB夹紧力预估将实现更高精度和可靠性。

m0_59012156的博客 849

【转载】Redis sort 排序命令详解

转载地址:http://www.jb51.net/article/69131.htm 本文介绍redis排序命令 redis支持对list,set,sorted set元素的排序 sort 排序命令格式: sort key [BY pattern] [LIMIT start count] [GET pattern] [ASC|DESC] [ALPHA] [STORE dstkey] 1...

仗剑天涯,从摘要开始 233

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

详解Redis SORT命令

本专栏与Redis相关的文章 Redis Sentinel机制与用法(一)Redis Sentinel机制与用法(二)Jedis的JedisSentinelPool源代码分析Jedis的Sharded源代码分析Redis 主从 Replication 的配置详解Redis SORT命令 JedisCommand接口说明 基本使用 命令格式...

weixin_34336292的博客 233

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Redis sort 排序命令详解

本文介绍redis排序命令,redis支持对list,set,sorted set元素的排序 sort 排序命令格式: sort key [BY pattern] [LIMIT start count] [GET pattern] [ASC|DESC] [ALPHA] [STORE dstkey] 1) sort key (list) 这是最简单的情况,没有任何选项对集合自身元素排序并返回排序结果,默认为value升序。 示例: 代码如下: 127.0.0.1:6379> lpush mimvp 12

IT云清 1046

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

8、Redis中sort命令详解

写在前面的话:读书破万卷,编码如有神 ------------------------------------------------- 1、排序 (1)sort:可以对List、Set、ZSet里面的值进行排序。   格式是:SORT source-key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ....

dianzhenluo3164的博客 209

mysql数据库排序命令_Redis SORT排序命令使用方法详解

对于Redis SORT排序命令 我相信大家都不怎么了解了,因此小编整理了一些Redis SORT排序命令使用方法与例子,希望例子可以对各位玩家带来帮助哦.Redis SORT是由Redis提供的一个排序命令。集合中的标签是无序的,可以使用SORT排序。如:redis>SADD jihe 5(integer) 1redis>SADD jihe 1(integer) 1redis&gt...

weixin_31477659的博客 686

Redis 学习笔记(十)Redis sort 排序命令详解

redis sort命令用法 1、命令描述 返回或保存给定列表、集合、有序集合key中经过排序的元素。 排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较。 2、一般sort用法 最简单的sort使用方法是sort key和sort key desc。 sort key:返回键值从小到大排序的结果。 sort key desc:返回键值从大到小排序的结果。 假设pri

极客on之路 2631

mysql key value 排序_Redis SORT排序命令使用方法详解

对于Redis SORT排序命令 我相信大家都不怎么了解了,因此小编整理了一些Redis SORT排序命令使用方法与例子,希望例子可以对各位玩家带来帮助哦. Redis SORT是由Redis提供的一个排序命令。集合中的标签是无序的,可以使用SORT排序。如: redisSADD jihe 5 (in对于Redis SORT排序命令 我相信大家都不怎么了解了,因此小编整理了一些Redis SOR...

weixin_39756540的博客 265

redis 多维度排序_Redis sort 排序命令详解

本文介绍redis排序命令redis支持对list,set,sorted set元素的排序sort 排序命令格式:sort key [BY pattern] [LIMIT start count] [GET pattern] [ASC|DESC] [ALPHA] [STORE dstkey]1) sort key (list)这是最简单的情况,没有任何选项对集合自身元素排序并返回排序结果,默认为v...

weixin_42122986的博客 392

redis 多维度排序_【转载】Redis sort 排序命令详解

转载地址:http://www.jb51.net/article/69131.htm本文介绍redis排序命令redis支持对list,set,sorted set元素的排序sort 排序命令格式:sort key [BY pattern] [LIMIT start count] [GET pattern] [ASC|DESC] [ALPHA] [STORE dstkey]1) sort key ...

weixin_39622980的博客 261

Linux虚拟内存管理机制与性能调优实战

虚拟内存是现代操作系统的核心技术,通过MMU硬件实现物理地址到虚拟地址的转换,采用多级页表结构优化内存使用。其核心价值在于实现内存隔离、共享和高效利用,支撑从嵌入式设备到云服务器的各种应用场景。Linux内核通过伙伴系统管理物理内存,配合Slab分配器优化小对象分配,并采用改进的CLOCK算法进行页面置换。在性能调优方面,透明大页(THP)配置和NUMA优化能显著提升数据库等内存敏感型应用的性能,而工具链如vmstat、perf等为内存问题排查提供有力支持。针对内存泄漏和碎片化等典型问题,kmemleak和

weixin_33895516的博客 521

Redis - 排序

SORT命令格式 SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination] 基本用法 SORT 命令可以对列表类型、集合类型和有序集合类型键进行排序。 对列表排序: 127.0.0.1:6379> LP...

weixin_30849403的博客 82

Redis6之(五)Redis中的排序

Redis中的排序

qq_50994235的博客 5763
上一篇: BlackHole开发日记-一次压力测试及JVM调优的经过
下一篇: 用jedis操作redis hash
Viking_bird
博客等级 码龄11年 92粉丝 183原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值