- 浏览: 84879 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (110)
- 异常信息 (3)
- JVM (3)
- Maven (2)
- 安全加密 (4)
- server服务类 (8)
- 前端技术类 (7)
- 设计模式 (2)
- memcached (0)
- mongodb (3)
- pinyin4j (1)
- struts2 (1)
- 杂烩 (26)
- 爬虫 (3)
- Java反射 (2)
- RMI (1)
- Velocity (2)
- node.js (0)
- GIT (4)
- ffmpeg与java (1)
- Spring Boot (0)
- Linux (3)
- Spring (4)
- 七牛云服务 (1)
- shell (2)
- python (0)
- JNI实现Java和其他语言的通信 (0)
- nutz (1)
- zookeeper (1)
- dubbo (0)
- Druid数据库连接池 (1)
- redis (14)
- hessian (0)
- RabbitMQ (0)
- ActiveMQ (1)
- JFinal极速 web 开发框架 (0)
- solr (0)
- jersey【RESTful Web Services in Java】 (0)
- GO学习 (6)
- nginx (1)
- TapeStry (2)
- Disruptor,并发 (1)
- Mybatis (1)
最新评论
-
qii404:
推荐另一个Redis可视化客户端,开源并且跨平台支持,性能可以 ...
redis可视化工具RedisClient使用
Redis 有序集合(sorted set)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
redis 127.0.0.1:6379> zadd books 1 java
(integer) 1
redis 127.0.0.1:6379> zadd books 2 c++
(integer) 1
redis 127.0.0.1:6379> zadd books 3 c
(integer) 1
redis 127.0.0.1:6379> zadd books 4 lua
(integer) 1
redis 127.0.0.1:6379> zadd books 5 ruby
(integer) 1
redis 127.0.0.1:6379> zrange books 0 6
1) "java"
2) "c++"
3) "c"
4) "lua"
5) "ruby"
redis 127.0.0.1:6379> zrange books 0 6 withscores
1) "java"
2) "1"
3) "c++"
4) "2"
5) "c"
6) "3"
7) "lua"
以上通过命令 ZADD 向 redis 的有序集合中添加了三个值并关联上分数。
zaddkey score1 member1 [score2 member2]
向有序集合添加一个或多个成员,或者更新已存在成员的分数
获取成员数
redis 127.0.0.1:6379> zcard books
(integer) 5
zcount key min max 获取指定区间分数的成员数
redis 127.0.0.1:6379> zcount books 2 5
(integer) 4
zincrby 命令对有序集合中指定成员的分数加上增量 increment
可以通过传递一个负数值 increment ,让分数减去相应的值,比如 zincrby key -5 member ,就是让 member 的 score 值减去 5
。当 key 不存在,或分数不是 key 的成员时, zincrby key increment member 等同于 zadd key increment member当key不是有序
集类型时,返回一个错误。分数值可以是整数值或双精度浮点数。
示例:
redis 127.0.0.1:6379> zincrby books 1 1
"1"
redis 127.0.0.1:6379> zrange books 0 6 withscores
1) "1"
2) "1"
3) "java"
4) "1"
5) "c++"
6) "2"
7) "c"
"3"
9) "lua"
10) "4"
11) "ruby"
12) "5"
ZINTERSTORE destination numkeys key [key ...]
计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
ZLEXCOUNT key min max
在有序集合中计算指定字典区间内成员数量
ZRANGE key start stop [WITHSCORES]
通过索引区间返回有序集合成指定区间内的成员
ZRANGEBYLEX key min max [LIMIT offset count]
通过字典区间返回有序集合的成员
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]
通过分数返回有序集合指定区间内的成员
ZRANK key member
返回有序集合中指定成员的索引
ZREM key member [member ...]
移除有序集合中的一个或多个成员
ZREMRANGEBYLEX key min max
移除有序集合中给定的字典区间的所有成员
ZREMRANGEBYRANK key start stop
移除有序集合中给定的排名区间的所有成员
ZREMRANGEBYSCORE key min max
移除有序集合中给定的分数区间的所有成员
ZREVRANGE key start stop [WITHSCORES]
返回有序集中指定区间内的成员,通过索引,分数从高到底
ZREVRANGEBYSCORE key max min [WITHSCORES]
返回有序集中指定分数区间内的成员,分数从高到低排序
ZREVRANK key member
返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
ZSCORE key member
返回有序集中,成员的分数值
ZUNIONSTORE destination numkeys key [key ...]
计算给定的一个或多个有序集的并集,并存储在新的 key 中
ZSCAN key cursor [MATCH pattern] [COUNT count]
迭代有序集合中的元素(包括元素成员和元素分值)
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。
集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
redis 127.0.0.1:6379> zadd books 1 java
(integer) 1
redis 127.0.0.1:6379> zadd books 2 c++
(integer) 1
redis 127.0.0.1:6379> zadd books 3 c
(integer) 1
redis 127.0.0.1:6379> zadd books 4 lua
(integer) 1
redis 127.0.0.1:6379> zadd books 5 ruby
(integer) 1
redis 127.0.0.1:6379> zrange books 0 6
1) "java"
2) "c++"
3) "c"
4) "lua"
5) "ruby"
redis 127.0.0.1:6379> zrange books 0 6 withscores
1) "java"
2) "1"
3) "c++"
4) "2"
5) "c"
6) "3"
7) "lua"
以上通过命令 ZADD 向 redis 的有序集合中添加了三个值并关联上分数。
zaddkey score1 member1 [score2 member2]
向有序集合添加一个或多个成员,或者更新已存在成员的分数
获取成员数
redis 127.0.0.1:6379> zcard books
(integer) 5
zcount key min max 获取指定区间分数的成员数
redis 127.0.0.1:6379> zcount books 2 5
(integer) 4
zincrby 命令对有序集合中指定成员的分数加上增量 increment
可以通过传递一个负数值 increment ,让分数减去相应的值,比如 zincrby key -5 member ,就是让 member 的 score 值减去 5
。当 key 不存在,或分数不是 key 的成员时, zincrby key increment member 等同于 zadd key increment member当key不是有序
集类型时,返回一个错误。分数值可以是整数值或双精度浮点数。
示例:
redis 127.0.0.1:6379> zincrby books 1 1
"1"
redis 127.0.0.1:6379> zrange books 0 6 withscores
1) "1"
2) "1"
3) "java"
4) "1"
5) "c++"
6) "2"
7) "c"
"3"
9) "lua"
10) "4"
11) "ruby"
12) "5"
ZINTERSTORE destination numkeys key [key ...]
计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
ZLEXCOUNT key min max
在有序集合中计算指定字典区间内成员数量
ZRANGE key start stop [WITHSCORES]
通过索引区间返回有序集合成指定区间内的成员
ZRANGEBYLEX key min max [LIMIT offset count]
通过字典区间返回有序集合的成员
ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]
通过分数返回有序集合指定区间内的成员
ZRANK key member
返回有序集合中指定成员的索引
ZREM key member [member ...]
移除有序集合中的一个或多个成员
ZREMRANGEBYLEX key min max
移除有序集合中给定的字典区间的所有成员
ZREMRANGEBYRANK key start stop
移除有序集合中给定的排名区间的所有成员
ZREMRANGEBYSCORE key min max
移除有序集合中给定的分数区间的所有成员
ZREVRANGE key start stop [WITHSCORES]
返回有序集中指定区间内的成员,通过索引,分数从高到底
ZREVRANGEBYSCORE key max min [WITHSCORES]
返回有序集中指定分数区间内的成员,分数从高到低排序
ZREVRANK key member
返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
ZSCORE key member
返回有序集中,成员的分数值
ZUNIONSTORE destination numkeys key [key ...]
计算给定的一个或多个有序集的并集,并存储在新的 key 中
ZSCAN key cursor [MATCH pattern] [COUNT count]
迭代有序集合中的元素(包括元素成员和元素分值)
发表评论
-
redis之管道技术 & 分区
2016-07-12 00:25 1542Redis 管道技术 Redis是一 ... -
redis之安全&性能&客户端连接
2016-07-11 14:13 856redis安全 我们可以通过 ... -
rerfis之备份与恢复
2016-07-11 13:42 534save 命令用于创建当前数据库的备份。 该命令将在 red ... -
redis之事务
2016-07-11 13:17 446Redis 事务可以一次执行多个命令, 并且带有以下两个重要的 ... -
redis之发布订阅
2016-07-11 11:42 511Redis 发布订阅(pub/sub)是一种消息通信模式:发送 ... -
redis数据类型之set常用操作
2016-07-08 13:51 356Redis的Set是string类型的无序集合。集合成员是唯一 ... -
redis数据类型之list常用操作
2016-07-08 11:38 564Redis 的list 列表类型 是 ... -
简单的利用Jedis连接redis操作数据库
2016-07-07 16:37 561首先添加jar包 public static ... -
redis数据类型之hash
2016-07-07 13:39 481Redis的hash 是一个string类型的field和 ... -
redis数据类型操作之String类型常用操作
2016-07-07 11:52 535redis 127.0.0.1:6379> set ... -
redis的key操作
2016-07-07 11:10 568redis 127.0.0.1:6379> se ... -
redis可视化工具RedisClient使用
2016-07-05 16:32 2997首页我先把redis的密码设置为:123456 redis 1 ... -
redis 在windows 上安装
2016-07-05 11:12 502第一步认识redis Redis是一个开源的,先进的 k ...
相关推荐
Redis 有序集合(Sorted Set)是一种特殊的集合数据结构,它结合了集合的无重复成员特性与分数的概念,可以根据成员的分数进行排序。有序集合中的每个成员都有一个与之关联的double类型的分数,这个分数用于决定成员...
有序集合(Sorted Set)是Redis中一个重要的数据结构,它结合了集合和哈希表的特点,支持对集合中的元素进行排序。在这个实战项目中,我们将深入探讨Redis有序集合类型(SortedSet)的常用命令,并通过Java实现商品...
通过以上对Redis数据类型及其相关指令的整理,我们可以了解到Redis提供了非常丰富和灵活的数据操作能力,这使得Redis成为了一个在多种应用场景下都非常实用的工具。无论是在数据存储、缓存加速还是消息队列等场景,...
Redis 是一个高性能的键值存储系统,它支持多种数据类型,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)以及有序集合(Sorted Set)。这些数据类型的特性使得Redis成为处理各种数据结构的理想选择...
- **有序集合(Sorted Set)**:与集合类似,但每个元素都有一个分数,可以按照分数排序。 3. **Redis命令操作**:书中会详细介绍每种数据类型的命令,如`SET`、`GET`、`HSET`、`LPOP`、`SADD`、`ZADD`等,以及事务...
本文主要探讨Redis中的数据类型,包括String、List、Set和Sorted Set,并结合实际应用讲解它们的特点和使用方法。 1. String String是最基本的数据类型,可以存储任何类型的数据,如数字、字符串等。在Redis中,...
5. 有序集合(Sorted Set) 有序集合与集合类似,也是无重复的元素集合,但它为每个元素附加了一个分数(score),根据分数进行排序。这使得有序集合可以用于排名、时间戳索引等场景。例如,`ZADD scores 100 "Alice" ...
#### Sorted Set 有序集合 - **简介**:有序集合与集合类似,但它还额外提供了一个分数来作为排序依据。 - **应用场景**: - 排行榜,根据分数对用户进行排名。 - 事件日志,根据时间戳进行排序。 ### Redis 的...
在Redis中,键的数据类型始终是字符串,而值的数据类型包括字符串、列表、字典、集合和有序集合。 1. 字符串(String):这是最基础的数据类型,对应数据结构是简单的字符串。在Redis中,字符串可以用来存储各种...
此外,还会考察如何利用Redis的数据类型特性优化性能,如使用List作为简单的消息队列,使用Set实现去重功能,使用Hash存储大量对象以减少网络传输,以及使用Sorted Set实现动态排序等。 了解和熟练掌握Redis的数据...
它支持五种基本数据类型:字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets)。在Java中,我们通常使用Jedis库来操作Redis。下面将详细介绍这五种数据类型在Java中的使用方法。 1. ...
下面将详细介绍 Redis 中的这些数据类型及其使用。 1. **列表(List)** 列表是有序的字符串集合,可以支持两端(头尾)的插入和删除操作。Redis 的 `LPUSH` 和 `RPUSH` 命令分别用于在列表头部和尾部添加元素,而 `...
### Sorted Set(有序集合类型) Sorted Set是一个带有分数的集合,每个元素都会关联一个double类型的分数,用于按照分数进行排序。Sorted Set的常用命令包括zadd、zrange、zscore、zrevrange等。 #### 应用场景 ...
其五大数据类型是Redis的核心,它们分别是字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。 1. **字符串(String)**: - String是最基础的数据类型,每个key对应一个value,value可以是...
Redis 支持五种数据类型:字符串(strings)、列表(lists)、集合(sets)、有序集合(sorted sets)和哈希(hashes)。 Redis 数据结构 – 字符串 字符串是 Redis 中最基本的数据类型,字符串的值可以是任何类型...
首先,Redis数据类型可以分为五种常用类型:string、hash、list、set、sorted_set。Redis自身是一个基于内存的存储系统,其中所有的数据都是采用key:value的形式存储的。key总是字符串类型,而value则根据数据类型的...
5. 有序集合(Sorted Set) 有序集合与集合类似,但每个元素都有一个分数,使得集合内的元素可以按分数排序。这在需要按时间戳排序的场景中很实用,如高分榜、时间线等。例如,`ZADD scores 98 "张三" 92 "李四"` 可...
接下来,我们将通过以下几个主要的Redis数据类型来演示Java操作: 1. 字符串(String): Redis中的字符串是最基础的数据类型,可以通过`set`和`get`方法进行设置和获取。例如: ```java Jedis jedis = new ...
Redis的实战教学可以涵盖多个方面,包括Redis的基础概念、数据结构、命令使用、应用场景以及高级特性...有序集合(Sorted Set):与普通集合类似,但每个成员都关联了一个分数(score),根据分数自动排序。 三、Redis
5. **有序集合(Sorted Set)** - 有序集合与集合类似,但每个元素都有一个分数(score),根据分数进行排序。有序集合的实现结合了字典和跳跃列表(Skip List)两种数据结构。字典用于存储元素和分数的映射,而...