第六节:Redis 数据结构之sorted-set 类型
存储Sorted-Set
Sorted-Set和Set的区别
 
Sorted-Set中的成员在集合中的位置是有序的
 
存储Sorted-set常用命令
添加元素
获得元素
删除元素
范围查询
扩展命令
 
zadd 添加元素 里面包括评分和值
127.0.0.1:6379> zadd sort1 5 a 4 b 6 c
(integer) 3
127.0.0.1:6379> zrange sort1 0 -1
1) "b"
2) "a"
3) "c"
我们添加集合sort1 元素是a,b,c 评分分别是5,4,6
集合里的排序是根据评分从小到大排序的;
 
 
继续添加元素
假如此元素集合里面已经有了,则覆盖
127.0.0.1:6379> zadd sort1 7 b
(integer) 0
127.0.0.1:6379> zrange sort1 0 -1
1) "a"
2) "c"
3) "b"
127.0.0.1:6379> zscore sort1 b //通过zscore获取b的评分,发现已修改
"7"
假如此元素不在集合里,则添加
127.0.0.1:6379> zadd sort1 9 d
(integer) 1
127.0.0.1:6379> zrange sort1 0 -1
1) "a"
2) "c"
3) "b"
4) "d"
删除元素zrem
127.0.0.1:6379> zrem sort1 b
(integer) 1
127.0.0.1:6379> zrange sort1 0 -1
1) "a"
2) "c"
3) "d"
zcard 查看集合里的元素个数
127.0.0.1:6379> zcard sort1
(integer) 3
withscores  把评分也显示出来
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "a"
2) "5"
3) "c"
4) "6"
5) "d"
6) "9"
zrevrange 降序排列
127.0.0.1:6379> zrevrange sort1 0 -1 withscores
1) "d"
2) "9"
3) "c"
4) "6"
5) "a"
6) "5"
zremrangebyrank 根据排名来删除元素  删除3个
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "a"
2) "5"
3) "f"
4) "5"
5) "c"
6) "6"
7) "d"
8) "9"
9) "e"
10) "10"
127.0.0.1:6379> zremrangebyrank sort1 0 2
(integer) 3
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "d"
2) "9"
3) "e"
4) "10"
zremrangebyscore 根据具体评分范围来删除元素
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "d"
2) "9"
3) "e"
4) "10"
5) "f"
6) "11"
7) "g"
8) "16"
9) "h"
10) "18"
127.0.0.1:6379> zremrangebyscore sort1 10 16
(integer) 3
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "d"
2) "9"
3) "h"
4) "18"
zrangebyscore 根据评分范围来查找元素
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "d"
2) "9"
3) "h"
4) "18"
5) "i"
6) "20"
7) "j"
8) "23"
9) "k"
10) "30"
127.0.0.1:6379> zrangebyscore sort1 18 23 withscores
1) "h"
2) "18"
3) "i"
4) "20"
5) "j"
6) "23"
limit 限定查找起始 类似分页
127.0.0.1:6379> zrangebyscore sort1 18 23 withscores limit 0 2
1) "h"
2) "18"
3) "i"
4) "20"
zincrby 给指定元素加分
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "d"
2) "9"
3) "h"
4) "18"
5) "i"
6) "20"
7) "j"
8) "23"
9) "k"
10) "30"
127.0.0.1:6379> zincrby sort1 5 h
"23"
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "d"
2) "9"
3) "i"
4) "20"
5) "h"
6) "23"
7) "j"
8) "23"
9) "k"
10) "30"
zcount 查找指定评分范围的元素个数
127.0.0.1:6379> zrange sort1 0 -1 withscores
1) "d"
2) "9"
3) "i"
4) "20"
5) "h"
6) "23"
7) "j"
8) "23"
9) "k"
10) "30"
127.0.0.1:6379> zcount sort1 20 23
(integer) 3
Sorted-Set使用场景
大型在线游戏积分排行榜
构建索引数据
 
 
 
 

峰Redis学习(6)Redis 数据结构(sorted-set的操作)的更多相关文章

  1. redis学习 (key)键,Python操作redis 键 (二)

    # -*- coding: utf-8 -*- import redis #这个redis 连接不能用,请根据自己的需要修改 r =redis.Redis(host=") 1. delete ...

  2. redis学习之——redis.conf配置(基本)文件学习

    # Redis configuration file example # Note on units: when memory size is needed, it is possible to sp ...

  3. Redis学习笔记~Redis主从服务器,读写分离

    回到目录 Redis这个Nosql的存储系统一般会被部署到linux系统中,我们可以把它当成是一个数据服务器,对于并发理大时,我们会使用多台服务器充当Redis服务器,这时,各个Redis之间也是分布 ...

  4. redis学习笔记-redis的安装

    Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...

  5. redis学习(六)——Sorted Set数据类型

    一.概述: Sorted Set(有序集合)和Set类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted Set中的每一个成员都会有一个分数(sc ...

  6. Redis学习笔记-Redis内部数据结构

    Redis内部数据结构 Redis和其他key-value数据库的很大区别是它支持非字符串类型的value值.它支持的value值的类型如下: sds (simple dynamic string) ...

  7. redis学习研究--Redis作者谈Redis应用场景

    毫无疑问,Redis开创了一种新的数据存储思路,使用Redis,我们不用在面对功能单调的数据库时,把精力放在如何把大象放进冰箱这样的问题上,而是利用Redis灵活多变的数据结构和数据操作,为不同的大象 ...

  8. Redis学习(1)---Redis概述

    什么是NoSQL 概述 NoSQL:Not Only SQL,意思不仅仅是SQL,它是属于非关系型数据库.那什么是关系型数据库?数据结构是一种有行有列的数据库. NoSQL数据库是为了解决高并发.高可 ...

  9. Redis学习-redis概述

    最近刚刚接触了redis技术,对此有一些了解,这是简单做一点总结. Redis简介 首先,简单了解一下NoSQL(Not only sql),不要错误的理解为:没有SQL,而是不仅仅是SQL.NoSQ ...

  10. redis学习笔记——Redis过期键的删除策略

    Redis过期键的删除策略 对于过期键一般有三种删除策略 定时删除:在设置键的过期时间的同时,创建一个定时器(timer),让定时器在键的过期时间来临时,立即执行对键的删除操作: 惰性删除:放任键过期 ...

随机推荐

  1. 结对第2次作业——WordCount进阶需求

    作业题目链接 队友链接 Fork的同名仓库的Github项目地址 具体分工 玮哥负责命令参数判断.单词权重统计,我只负责词组词频统计(emmmm). PSP表格 预估耗时(分钟) 实际耗时(分钟) P ...

  2. zabbix3.4web界面添加第一台被监控服务器图文教程

    zabbix工具监控服务器是以组的形式来管理,创建单个被监控服务器之前需要先创建一个主机组,然后将被监控机添加到这个组中即可 1 创建主机群组: 2 向主机群组中添加主机 3 向主机中添加模板,选择要 ...

  3. 芯灵思SInA33开发板怎样烧写镜像文件

    上一节已经制作好了linux镜像文件,现在将它烧入开发板中需要的工具有 * SINLINX-A33_qt-4.8.7_lcd1024x600_v3.1 #镜像文件 * PhoenixSuit #烧写工 ...

  4. webpack 搭建问题汇总

    总结一下遇到的问题: 1.这样的警告(The 'mode' option has not been set, webpack will fallback to 'production' for thi ...

  5. MySQL Export--导出数据

    =========================================================== SELECT INTO OUTFILE语法格式: SELECT [columns ...

  6. zsh:no matches found 问题解决

    解决方法: ~/.zshrc 文件加入: setopt no_nomatch 之后,更新配置 source ~/.zshrc        

  7. JS正则表达式验证身份证号码

    function isCardNo(card) { // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X var reg = /(^\d{1 ...

  8. SELECT 语句语法

    SELECT [ALL | DISTINCT | DISTINCTROW ] [HIGH_PRIORITY] [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_R ...

  9. sql语句实战

    1,排名,自身连接,用count,去重用distinct 2,累加,和上面一样,自身连接,用sum 3,count函数不用group by只有一组

  10. 编译小米mini openwrt

    编译小米mini openwrt 1.下载openwrt源码包:进入要下载保存的文件目录,输入 git clone git://git.openwrt.org/15.05/openwrt.git 2. ...