尚硅谷redis7 20-redis10大類型之zset

zset是redis中的有序集合【sorted set】

zset就是在set基礎上,每個val值前加一個score分數值。

之前set是k1 v1 v2 v3現在zset是k1 score1 v1 score2 v2

向有序集合中加入一個元素和該元素的分數
ZADD key score member [score member...]

添加元素

127. 0. 0. 1: 6379> ZADD zset1 60 v1 70 v2 80 v3 90 v4 100 v5
(integer) 5

ZRANGE key start stop [WITHSCORES]

按照元素分數從小到大的順序返回索引從start到stop之間的所有元素

WITHSCORES:是否帶分數遍歷

127.0. 0. 1: 6379> ZRANGE zset1 0 - 1
1) "v1"
2) "v2"
3) "v3"
4) "v4"
5) "v5"
127.0. 0. 1: 6379> ZRANGE zset1 0 - 1 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"
9) "v5"
10) "100"

zrevrange

按照元素分數從大到小的順序返回索引從start到stop之間的所有元素

WITHSCORES:是否帶分數遍歷

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]

獲取指定分數范圍的元素

withscores:帶分數

(:不包括

limit start numbers:限制返回個數 從start開始取numbers個

127. 0. 0. 1: 6379> ZRANGEBYSCORE zset1 60 90? //指定取值范圍為60到90
1) "v1"
2) "v2"
3) "v3"
4) "v4"
127.0.0.1:6379> ZRANGEBYSCORE zset1 60 90 withscores?//指定取值范圍為60到90 帶分數
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6)"80"
7)"v4"

8)"90"

127. 0. 0. 1: 6379> ZRANGEBYSCORE zset1 (60 90 withscores //小括號:不包括60 即70到80
1) "v2"
2) "70"
3) "v3"
4) "80"
5) "v4"
6)"90"

127. 0. 0. 1:6379> ZRANGEBYSCORE zset1 (60 90 withscores limit 0 1
1) "v2"
2) "70"

ZSCORE key member

獲取元素的分數

zscore zset1 v5 //獲取v5分數

ZCARD key

獲取集合中元素的數量

zscard zset1


zrem key 某score下對應的value值

作用是刪除元素

127.0. 0.1:6379> ZREM zset1 v5? // 刪除v5
(integer) 1
127.0.0.1:6379> ZREM zset1 v5
(integer) 0
127.0. 0. 1:6379> ZRANGE zset1 0 - 1 withscores
1) "v1"
2) "60"
3) "v2"
4) "70"
5) "v3"
6) "80"
7) "v4"
8) "90"

ZINCRBY key increment member

增加某個元素的分數

ZINCRBY zset1 3 v1? // 給v1加3分

ZCOUNT key min max

獲取指定分數范圍內的元素個數

127. 0. 0. 1: 6379> ZCOUNT zset1 60 100
(integer) 4
127. 0. 0. 1: 6379> ZCOUNT zset1 65 70
(integer) 1

ZMPOP

從鍵名列表中的第一個非空排序集中彈出一個或多個元素,他們是成員分數對

127.0.0.1:6379> ZADD myzset 1 one 2 two 3 three

127.0.0.1:6379> ZRANGE myzset 0?- 1 withscores
one
1
two
2
three
3
127. 0. 0. 1:6379>ZMPOP 1 myzset min count 1
myzset
one
1
127.0. 0. 1:6379> ZRANGE myzset 0?- 1 withscores
two
2
three

3

ZRANK key values值

作用是獲得下標值

127.0. 0. 1:6379> ZRANGE zset1 0 -1
1) "v2"
2) "v3"
3)"v4"
127.0. 0. 1:6379> ZRANK zset1 v2
(integer) 0
127.0.0. 1: 6379> ZREVRANK zset1 v2
(integer) 2

ZREVRANK key values

作用是逆序獲得下標值

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/907105.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/907105.shtml
英文地址,請注明出處:http://en.pswp.cn/news/907105.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

STM32 SPI通信(軟件)

一、SPI簡介 SPI(Serial Peripheral Interface)是由Motorola公司開發的一種通用數據總線四根通信線:SCK(Serial Clock)、MOSI(Master Output Slave Input)、MISO(Master Input Slav…

Kotlin Native與C/C++高效互操作:技術原理與性能優化指南

一、互操作基礎與性能瓶頸分析 1.1 Kotlin Native調用原理 Kotlin Native通過LLVM編譯器生成機器碼,與C/C++的互操作基于以下核心機制: CInterop工具:解析C頭文件生成Kotlin/Native綁定(.klib),自動生成類型映射和包裝函數雙向調用約定: Kotlin調用C:直接通過生成的綁…

云原生安全 SaaS :從基礎到實踐

🔥「炎碼工坊」技術彈藥已裝填! 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 1. 基礎概念 什么是 SaaS? SaaS(Software as a Service,軟件即服務)是一種基于云計算的軟件交付模式。用…

git clone 提速

git上的項目時間久了 .git文件夾非常大,這時候更新一次項目需要花費很長的時間,解決方法也很簡單,加一個depth參數,命令如下: git clone --depth 1 https://github.com/xxxxxx/xxxxxx指定了 depth 1 的時候&#xff0…

Redis 性能優化:核心技術、技巧與最佳實踐

Redis 作為高性能的內存數據庫,其性能優化是系統設計中的關鍵環節。本文結合 Redis 官方文檔及實踐經驗,從內存管理、延遲優化、CPU 效率、網絡配置等多個維度,系統性地闡述 Redis 性能優化的核心技術與最佳實踐。 通過以下優化手段,Redis 可在高并發、低延遲場景中發揮極致…

PostgreSQL 14 pacemaker 高可用集群

核心架構原理 集群組成(典型三節點結構): [Node1] PostgreSQL Pacemaker Corosync pcsd [Node2] PostgreSQL Pacemaker Corosync pcsd [Node3] PostgreSQL Pacemaker Corosync pcsd ? ? ? ← Corosync 多…

影刀Fun叉鳥-2048

文章目錄 僅為自動化演示,實際2048判定邏輯需要更加嚴謹 參考代碼 # 使用提醒: # 1. xbot包提供軟件自動化、數據表格、Excel、日志、AI等功能 # 2. package包提供訪問當前應用數據的功能,如獲取元素、訪問全局變量、獲取資源文件等功能 # 3. 當此模塊作…

Vue3.5 企業級管理系統實戰(二十):角色菜單

本篇聚焦于角色菜單權限分配功能的實現,圍繞“給角色賦予菜單權限”這一核心場景,從接口設計、組件封裝到頁面集成展開完整技術方案的闡述。主要內容包括: 1. 角色權限接口開發:定義獲取角色權限、分配權限等接口,規范…

go實現釘釘三方登錄

釘釘的的官方開發文檔中只給出了java實現三方登錄的,我們準備用go語言來實現 實現網頁方式登錄應用(登錄第三方網站) - 釘釘開放平臺 首先就是按照文檔進行操作,備注好網站的信息 獲得應用憑證,我們后面會用到 之后…

一、OpenCV的基本操作

目錄 1、OpenCV的模塊 2、OpenCV的基礎操作 2.1圖像的IO操作 2.2繪制幾何圖形 2.3獲取并修改圖像中的像素點 2.4 獲取圖像的屬性 2.5圖像通道的拆分與合并 2.6色彩空間的改變 3、OpenCV的算數操作 3.1圖像的加法 3.2圖像的混合 3.3總結 1、OpenCV的模塊 2、OpenCV的基…

虛擬機配置橋接,遠程工具直接訪問

虛擬機網絡配置 前言windows下安裝linux虛擬機配置網絡1、設置虛擬機網絡模式:橋接模式2、配置網絡參數1、查看本機電腦連接的網絡情況2、打開虛擬機,編輯配置文件3、編輯虛擬網絡 3、測試連通性 前言 好不容易裝上了虛擬機,輸入命令時又發現…

RabbitMQ 概述與安裝

MQ 作用與介紹 MQ 是什么 MQ (message queue),從字面意思看是一個隊列, FIFO 先進先出,只不過里面存放的內容是 消息 消息 可以比較簡單,比如只包含 文本字符串,JSON 等;也可以很復雜,比如 內嵌對象 等 MQ 多用于分布式系統之間進行通信 系統之間的調用通常有兩種方式: 1…

如何在Vue中實現延遲刷新列表:以Element UI的el-switch為例

如何在Vue中實現延遲刷新列表:以Element UI的el-switch為例 在開發過程中,我們經常需要根據用戶操作或接口響應結果來更新頁面數據。本文將以Element UI中的el-switch組件為例,介紹如何在狀態切換后延遲1秒鐘再調用刷新列表的方法&#xff0…

CSS2相關知識點

CSS2相關知識點 CSS的編寫位置樣式種類樣式表的優先級 CSS選擇器CSS基本選擇器通配選擇器元素選擇器類選擇器ID選擇器 復合選擇器HTML元素間的關系交集選擇器并集選擇器后代選擇器子代選擇器兄弟選擇器屬性選擇器偽類選擇器偽元素選擇器 顏色的表示表示方式一:顏色名…

centos yum源,docker源

yum源repo文件: wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repodocker源repo文件: yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo安裝docker和docker c…

深入探索AI模型工程:算法三大門派與監督學習的魅力

在當今人工智能蓬勃發展的時代,AI系統正逐漸滲透到我們生活的方方面面。從智能語音助手到自動駕駛汽車,從醫療影像診斷到金融風險預測,AI的應用場景無處不在。然而,構建一個高效、可靠的AI系統并非易事,它需要我們從宏…

[De1CTF 2019]SSRF Me

算是我第一次正兒八經的分析python代碼了 from flask import Flask, request import socket import hashlib import urllib import sys import os import jsonreload(sys) sys.setdefaultencoding(latin1)app Flask(__name__) # 創建一個Flask應用實例 secret_key os.ura…

Halcon 圖像預處理②

非線性圖像分段變化: 先窗體打開圖片 對數非線性變化: 結果圖像的亮度/對比度顯著增加 log_image(Image,LogImag1,e) 參數1:輸入圖像 參數2: 輸出圖像 參數3:底數 log_image(Image,LogImage2,0.1) 圖像結果亮度和…

云原生安全之網絡IP協議:從基礎到實踐指南

🔥「炎碼工坊」技術彈藥已裝填! 點擊關注 → 解鎖工業級干貨【工具實測|項目避坑|源碼燃燒指南】 一、基礎概念 IP協議(Internet Protocol)是互聯網通信的核心協議族之一,負責在設備間傳遞數據包。其核心特性包括&…

QML學習08Text

Text 1、顏色(color)2、獲取寬度和高度(contentWidth、contentHeight)3、字體格式(font)4、文本樣式(textFormat)5、超鏈接 1、顏色(color) //顏色Text {colo…