redis-sort set

有序集合

sorted set和set一样也是string类型元素的集合,不同的是每个元素都会关联一个double类型的score。sorted set的实现是skip list(跳表)和hash table的混合体当元素被添加到集合中时,一个元素到score的映射被添加到hash table中,所以给定一个元素获取score的开销是O(1),另一个score到元素的映射被添加到skip list并按照score排序,所以就可以有序的获取集合中的元素。添加,删除操作开销都是O(log(N))和skip list的开销一致,redis的skip
list实现用的是双向链表,这样就可以逆序从尾部取元素。sorted set最经常的使用方式应该是作为索引来使用。我们可以把要排序的字段作为score存储,对象的id当元素存储。

下面是sorted set相关命令:


zadd key score member


添加元素到集合,元素在集合中存在则更新对应score


zrem key member


删除指定元素,1表示成功,如果元素不存在返回0


zincrby key incr member


增加对应member的score值,然后移动元素并保持skip list保持有序。返回更新后的score值


zrank key member


返回指定元素在集合中的排名(下标),集合中元素是按score从小到大排序的


zrevrank key member


同上,但是集合中元素是按score从大到小排序


zrange key start end


类似lrange操作从集合中去指定区间的元素。返回的是有序结果


zrevrange key start end


同上,返回结果是按score逆序的


zrangebyscore key min max


返回集合中score在给定区间的元素


zcount key min max


返回集合中score在给定区间的数量


zcard key


返回集合中元素个数


zscore key element


返回给定元素对应的score


zremrangebyrank key min max


删除集合中排名在给定区间的元素


zremrangebyscore key min max


删除集合中score在给定区间的元素

时间: 2024-08-29 13:56:20

redis-sort set的相关文章

redis sort

1.命令描述返回或保存给定列表.集合.有序集合key中经过排序的元素.排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较. 2.一般sort用法最简单的sort使用方法是sort key和sort key desc.sort key:返回键值从小到大排序的结果.sort key desc:返回键值从大到小排序的结果. 假设price列表保存了今日的物品价格, 那么可以用sort命令对它进行排序:# 开销金额列表redis> lpush price 30 1.5 10 8(integer

redis sort命令用法

1.命令描述返回或保存给定列表.集合.有序集合key中经过排序的元素.排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较. 2.一般sort用法最简单的sort使用方法是sort key和sort key desc.sort key:返回键值从小到大排序的结果.sort key desc:返回键值从大到小排序的结果. 假设price列表保存了今日的物品价格, 那么可以用sort命令对它进行排序:# 开销金额列表redis> lpush price 30 1.5 10 8(integer

Redis sort命令

http://www.cnblogs.com/linjiqin/archive/2013/06/14/3135921.html 1.添加 投票选项到 redis的  List 和HashMap list    key  ==> tomas:vote:vote_item:%S:list   (PS. %S=voteId) value==> {video_hashmap_key} map  key  ==> tomas:vote:vote_item:%S:hashMap  (PS. %S=v

使用 redis (sort set排序集合类型操作)

sort set排序集合类型 释义: sort set 是 string 类型的集合 sort set 的每个元素 都会关联一个 权 通过 权值 可以有序的获取集合中的元素 应用场合: 获取热门帖子(回复量)信息: select * from message order by backnum desc limit 5; // 利用 sort set 实现最热门的前 5 贴信息 帖子id            回复量(万条) 11                102        12     

Redis – sort set类型操作

sort set操作:sort set在set基础上增加了一列用于存储顺序序列设置操作:zadd key:        zadd key sortnum value        指定key增加元素,如果value存在,更新sortnumzrem:        zrem key value            删除指定key的valuezincrby:        zincrby key sortnum value        指定key-value的序列自增,不存在则添加zremra

Redis ---------- Sort Set排序集合类型

sortset是(list)和(set)的集中体现 与set的相同点: string类型元素的集合 不同点: sortset的元素:值+权 适合场合 获得最热门前5个帖子的信息 例如 select *from message order by backnum desc limit 5; 11 102 12  141 13 159 14 72 15 203 16  189 17 189 18  395 19 184 原文地址:https://www.cnblogs.com/zhouxingzhi/

Jedis学习使用(java操作redis)

Jedis 是 Redis 官方首选的 Java 客户端开发包. 工作过程总结的一个示例,贴出来,如下: Java代码   package com.wujintao.redis; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import org.junit.

redis学习基本命令

参阅redis中文的 互动教程(interactive tutorial)来学习的. 目录: 全局操作 get  get incr  自增 decr 自减 del 删除 expire 定时 list  队列 set  无序集合 sorted set 有序集合 hashes 对象存储 sort 排序 sort命令描述 sort一般用法 使用alpha修饰符对字符串进行排序 使用limit修饰符限制返回结果 使用外部key进行排序 by选项 get选项 获取多个外部键 获取外部键,但不进行排序 将哈

使用Spring Data Redis操作Redis(一)

Spring-Data-Redis项目(简称SDR)对Redis的Key-Value数据存储操作提供了更高层次的抽象,类似于Spring Framework对JDBC支持一样. 项目主页:http://projects.spring.io/spring-data-redis/ 项目文档:http://docs.spring.io/spring-data/redis/docs/1.5.0.RELEASE/reference/html/ 本文主要介绍Spring Data Redis的实际使用. 1

(转) Redis学习教程--基本命令

原文出自:http://www.cnblogs.com/woshimrf/p/5198361.html 目录 全局操作:1.redis是key-value存储的,放在内存中,并在磁盘持久化的数据结构存储系统2.redis提供原子自增操作incr,用来防止多线程并发出现数据错误.3.删除操作:del.若数据不存在返回(nil)4.redis可以定时存储,即设置几秒后删除该变量5.存储有序队列:list6.无序且唯一集合set7.有序集合sorted set8.对象存储Hashes9.sort排序!