缓存数据库-redis数据类型和操作(sorted set)

一:Redis 有序集合(sorted set)

  Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

  不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

  有序集合的成员是唯一的,但分数(score)却可以重复。

  集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

二:有序集合常用操作

  1)zadd(name, *args, **kwargs) 在name对应的有序集合中添加元素

  2)zcard(name) 获取name对应的有序集合元素的数量

  3)zcount(name, min, max)  获取name对应的有序集合中分数 在 [min,max] 之间的个数

  4)zincrby(name, value, amount)  自增name对应的有序集合的 name 对应的分数

  5)zrange( name, start, end, desc=False, withscores=False, score_cast_func=float) 按照索引范围获取name对应的有序集合的元素

    # 参数:

    # name,redis的name

    # start,有序集合索引起始位置(非分数)

    # end,有序集合索引结束位置(非分数)

    # desc,排序规则,默认按照分数从小到大排序

    # withscores,是否获取元素的分数,默认只获取元素的值

    # score_cast_func,对分数进行数据转换的函数

  6)zrank(name, value) 获取某个值在 name对应的有序集合中的排行(从 0 开始)

  7)zrem(name, values) 删除name对应的有序集合中值是values的成员

  9)zremrangebyrank(name, min, max)  根据排行范围删除

  10)zremrangebyscore(name, min, max)   根据分数范围删除

  11)zscore(name, value)  获取name对应有序集合中 value 对应的分数

  12)zinterstore(dest, keys, aggregate=None) 获取两个有序集合的交集,如果遇到相同值不同分数,则按照aggregate进行操作

  13)zunionstore(dest, keys, aggregate=None) 获取两个有序集合的并集,如果遇到相同值不同分数,则按照aggregate进行操作

  14)zscan(name, cursor=0, match=None, count=None, score_cast_func=float)

时间: 2024-08-02 13:59:54

缓存数据库-redis数据类型和操作(sorted set)的相关文章

缓存数据库-redis数据类型和操作(list)

转: 狼来的日子里! 奋发博取 缓存数据库-redis数据类型和操作(list) 一:Redis 列表(List) Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列表的头部(左边)或者尾部(右边) 一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素). List操作,redis中的List在在内存中按照一个name对应一个List来存储.如图: 二:列表常用操作 1)lpush(name,values)  在name对应的l

缓存数据库-redis数据类型和操作

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合) 一:String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 . string类型是Redis最基本的数据类型,一个键最大能存储512MB. redis中的

缓存数据库-redis数据类型和操作(set)

一:Redis 集合(Set) Redis的Set是string类型的无序集合.集合成员是唯一的,这就意味着集合中不能出现重复的数据. Redis 中 集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1). 二:set常用操作 1)sadd(name,values) name对应的集合中添加元素 2)scard(name) 获取name对应的集合中元素个数 3)sdiff(keys, *args)  在第一个name对应的集合中且不在其他name对应的集合的元素集合 4)sdiffs

缓存数据库redis

什么是Redis? Redis是一个TCP服务器,支持请求/响应协议. 在Redis中,请求通过以下步骤完成: 客户端向服务器发送查询,并从套接字读取,通常以阻塞的方式,用于服务器响应. 服务器处理命令并将响应发送回客户端. Redis是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库,缓存和消息中间件.它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询,

缓存数据库-redis介绍

一:Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用. Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储. Redis支持数据的备份,即master-slave模式的数据备份. 二:Redis 优势 性能极高 –

缓存数据库Redis 简介--->安装

nosql介绍 NoSQL:一类新出现的数据库(not only sql) 泛指非关系型的数据库 不支持SQL语法 存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式 NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景 NoSQL中的产品种类相当多: Mongodb Redis Hbase hadoop Cassandra hadoop NoSQL和SQL数据库的比较: 适用场景不同:sql数据库适合用于关系特别

redis缓存数据库Hash,list,set操作

Hash操作 hash表现形式上有些像python中的dict,可以存储一组关联性较强的数据,redis中Hash在内存中的存储格式如下图: 1.hset(name,key,value) #name对应的hash中设置一个键值对(不存在,则创建:否则,修改) #参数: #name,redis的name #key,name对应的hash中的key #vale,name对应的Hash中的value #如: 127.0.0.1:6379> hset fle1 k1 2 (integer) 1 2.hm

消息队列RabbitMQ、缓存数据库Redis

1.RabbitMQ消息队列 1.1 RabbitMQ简介 AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计.消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然. AMQP的主要特征是面向消息.队列.路由(包括点对点和发布/订阅).可靠性.安全. RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby..N

缓存数据库Redis——Redis部署与配置

关系型数据库与非关系型数据库 关系型数据库: 一个机构化的数据库,创建在关系模型基础上,一般面向于记录包括oracle.mysql.sqlserver.db2 非关系型数据库: 除了主流的关系型数据库意外的数据库,都人为是非关系型的包括redis.mongdb.hbase.couhdb 非关系型数据库产生背景 对数据库高并发读写需求 对海量数据高效存储与访问需求 对数据库高可扩展性与高可用需求 Redis简介 Redis基于内存运行并支持持久化 采用key-value(键值对)的存储形式 优点: