lunix下的redis数据库操作——zset有序集合

创建:(有序集合存在一个权重的概念)

zadd zset 1 a 2 b 3 c 4 d 5 e 6 f 7 g

# 输出:
# 1) "a"
# 2) "b"
# 3) "c"
# 4) "d"
# 5) "e"
# 6) "f"
# 7) "g"

# 左边权重,右边元素

查看:

zrange zset 0 -1   # 索引值,第一个和最后一个

倒序查看:

zrevrange zet 0 -1
# 输出:
# 1) "g"
# 2) "f"
# 3) "e"
# 4) "d"
# 5) "c"
# 6) "b"
# 7) "a"

删除:

zrem zset g(元素)

元素值查看查看对应索引值:

zrank zset a    # 0(索引值)

倒叙查看元素值相对对索引值;

zrevrank zset a    # 6   (‘g‘之前已被删除)

查看个数:

zcard zset   # 6

查看权重:

zscore zset a # 1(权重)
zscore zset f  # 6(权重)

返回有序集合中score(权重)在给定区间的元素:

zrangebyscore zset 3 5 withscores  # 查看权重在3 和5之间的元素(闭区间)
# 输出:1) "c"2) "3"3) "d"4) "4"5) "e"6) "5"

返回有序集合中score(权重)在给定区间的数量:

zcount zset 3 5 # 权重在3和5之间的元素个数
# 输出: 3

删除有序集合中索引值在给定的区间的元素:

zremrangebyrank zset 3 5  # 删除索引值3到5之间的元素(闭区间)
# 返回数字3   表示d e f 已经被删除了
# 还剩a b c

删除有序集合中权重在给定区间的元素:

zremrangebyscore zset 1 3  # 删除权重在1到3的(闭区间)
# 返回数字3  表示a b c 已经被删除了
# 现有序集合zset为空

原文地址:https://www.cnblogs.com/pywjh/p/9426872.html

时间: 2024-07-30 22:27:32

lunix下的redis数据库操作——zset有序集合的相关文章

lunix下的redis数据库操作——list列表

首先,需要先了解栈和队列的概念: 栈  先进后出:类比弹夹上的子弹,最后上进弹夹的子弹第一个使用,砌墙的板砖,后来居上 队列  先进先出:排队打饭,先到先得 创建列表: 左添加:(栈的形式添加) lpush list 1 2 3 4 5 # 输出: 1) "5" 2) "4" 3) "3" 4) "2" 5) "1" 右添加:(队列的形式添加) rpush list 1 2 3 4 5 # 输出: 1) &

在window下安装Redis数据库,并用python链接Redis

Redis是一个非关系型数据库,数据以key-value键值对的形式存储在数据库中. Redis的安装,可以直接参考这个链接:https://www.runoob.com/redis/redis-install.html ,我下面说的,会比这个教程稍详细一点. [1]我下载的是Redis-x64-3.2.100.zip,下载地址为 https://github.com/MSOpenTech/redis/releases ,然后选择一个你喜欢的本地目录,直接解压,就代表安装完成. 我的安装目录是:

Redis数据库操作、持久化详解及内存管理基础概览

Redis数据库操作.持久化详解及内存管理基础概览 前言 ? 上篇主要介绍了redis的编译安装流程以及redis常用的两个命令工具,本文主要讲述redis的数据库相关操作:增删改查等等,以及简述理解redis持久化原理和配置操作. Redis数据库操作 Redis 数据库常用命令(一般大小写均可)--比较简单,直接介绍语法,自行尝试验证当然这些只是冰山一角,例如不同的数据类型对应的操作都不一样,有研究兴趣的可以深入了解.单个数据库命令: set--写入数据 语法:set key value g

php redis数据库操作类

<?php namespace iphp\db; use iphp\App; /** * redis操作类 * 说明,任何为false的串,存在redis中都是空串. * 只有在key不存在时,才会返回false. * 这点可用于防止缓存穿透 * @author xuen * */ class Redis { private $redis; //当前数据库ID号 protected $dbId=0; //当前权限认证码 protected $auth; /** * 实例化的对象,单例模式. *

Linux下安装Redis数据库

操作系统是Ubuntu(window下的虚拟机),与centOS的区别在于yum源支持不友好.普通联网安装采用apt-get较为常见. 联网安装可以直接执行命令: 最好采用sudo管理员权限去操作,方便省事 先检查更新源信息:sudo apt-get update 安装软件服务:sudo apt-get install redis-server 正常情况下,安装完成不报错就完成了. 然后启动服务 sudo redis-server   或者 sudo server redis restart 

分布式集群之redis数据库操作

如果采用redis数据库集群操作方式爬取数据源,那么爬虫客户端最好设置redis数据库的密码,否则对方将无法进行数据库链接操作,并且会报未知错误. redis-cli -h 192.168.1.53 -p 6379 -a 12345   (依次是 目标主机地址,端口号,对方数据库密码) 如此能确保集群的正常拼通 原文地址:https://www.cnblogs.com/wen-kang/p/10585797.html

redis数据库操作的C++简单封装

用c++简单封装了redis的基本操作(hiredis) 接口包括:①链接和断开连接.②设置键值对(set).③查询键值对(get).④删除键值对(del).⑤将所有键显示出来 若任何一处发生错误,返回对应的错误状态码,同时可以调用getErrorMsg()查看错误信息 所有码包括: M_REDIS_OK = 0, //执行成功 M_CONNECT_FAIL = -1, //连接redis失败 M_CONTEXT_ERROR = -2, //RedisContext返回错误 M_REPLY_ER

15天玩转redis —— 第六篇 有序集合类型

今天我们说一下Redis中最后一个数据类型 “有序集合类型”,回首之前学过的几个数据结构,不知道你会不会由衷感叹,开源的世界真好,写这 些代码的好心人真的要一生平安哈,不管我们想没想的到的东西,在这个世界上都已经存在着,曾几何时,我们想把所有数据按照数据结构模式组成 后灌输到内存中,然而为了达到内存共享的方式,不得不将这块内存包装成wcf单独部署,同时还要考虑怎么序列化,何时序列互的问题,烦心事太多 太多...后来才知道有redis这么个吊毛玩意,能把高级的,低级的数据结构单独包装到一个共享内存

Redis数据操作之无序集合 | Redis

| Redis 的集合以无序的方式储存多个各不相同的元素 # 用户可以快速地向集合添加元素,或者从集合里面删除元素,也可以对多个集合 进行集合运算操作,比如计算并集,交集和差集. | 元素操作 -- 添加元素     sadd key element [element ...]     # 将一个或多个元素添加到给定的集合里面,已经存在于集合的元素会         自动被忽略,命令返回新添加到集合的元素数量. -- 移除元素     srem key element [element ...]