redis入门之数据结构(三)

redis入门之数据结构(二)

Hashes

Redis Hashes 是字符串字段和字符串值之间的映射,因此它们是展现对象的完美数据类型。例如一个有名、姓、年龄等等属性的用户:一个带有一些字段的 hash 仅仅需要一块很小的空间存储,因此你可以存储数以百万计的对象在一个小的 Redis 实例中。哈希主要用来表现对象,它们有能力存储很多对象,因此你可以将哈希用于许多其它的任务。

  1. redis-cli hashes 基本操作:(在strings操作指令前+h)
  • hmset key field value [field value …] 创建一个包含有n个字段的hash
  • hmget key [key …] 获取hash中字段的值(字段不存在返回nil)
  • hgetall key 获取hash中所有字段的值
  • hincrby key field increment 对hash中指定字段的值+increment
  • hset key field value 设置hash中指定字段的值

在这里插入图片描述

Set 无序集合

Redis 集合(Set)是一个无序的字符串集合。
Redis 集合拥有令人满意的不允许包含相同成员的属性,多次添加相同的元素,最终在集合里只会有一个元素,这意味着它可以非常方便地对数据进行去重操作。
Redis 集合支持一些服务端的命令从现有的集合出发去进行集合运算,因此你可以在非常短的时间内进行合并(unions),求交集(intersections),找出不同的元素(differences of sets)。

  1. redis-cli set 基本操作:
  • sadd key member [member …] 往集合中添加成员(返回添加成员的个数)
  • smembers key 查看集合key中所有的的成员
  • sismember key member 判断member是否是key集合中的成员(成功返回1,失败返回0)
    在这里插入图片描述

Set 有序集合

Redis 有序集合与普通集合非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每一个成员都关联了一个权值,这个权值被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是权值可以是重复的。
使用有序集合你可以以非常快的速度 O(log(N)) 添加、删除和更新元素。因为元素是有序的,所以你也可以很快的根据权值(score)或者次序(position)来获取一个范围的元素。访问有序集合的中间元素也是非常快的,因此你能够使用有序集合作为一个没有重复成员的智能列表。在有序集合中,你可以很快捷的访问一切你需要的东西:有序的元素,快速的存在性测试,快速访问集合的中间元素!简而言之使用有序集合你可以完成许多对性能有极端要求的任务,而那些任务使用其它类型的数据库真的是很难完成的。

  1. redis-cli zset 基本操作:
  • zadd key [NX|XX] [CH] [INCR] score member [score member] 往有序集合中添加成员(score 用于排序)
  • zrange key start stop [withscores] 查看指定区间的成员(0 表示集合第一个元素,-1 表示集合的倒数第一个元素。)
  • zrevragne key start stop [withscores] 查看反序的集合(withscores 参数返回记录值)
    在这里插入图片描述

详细介绍请看数据类型介绍

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章