Redis数据结构

Posted guo-rong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis数据结构相关的知识,希望对你有一定的参考价值。

1. String(字符串)

字符串是Redis最基本的数据结构, 它使用 key/value的形式存储数据, 类似java的Map结构

技术分享图片

 

命令: http://www.runoob.com/redis/redis-strings.html

2. Hash(散列)

通过映射表实现, 一个key对应一张Map映射表

技术分享图片

命令: http://www.runoob.com/redis/redis-hashes.html

3. linked-list(链表)

 链表结构是Redis中常用的结构,可以存储多个字符串,而且是有序的, Redis的链表是双向链表结构,使用链表结构就代表着读的性能不佳, 因为链表只能从一个方向遍历所有节点;

 技术分享图片

在内存中链表的数据节点是分配在不同的区域中, 并不连续, 只能根据上一个节点查找下一个节点, 因此查询效率低,; 但是删除和插入效率高, 因为新增时, 只需删除原来的关联, 然后让新增的节点和前后节点建立关系, 并不需要重新移动元素的在内存中的位置;

技术分享图片

 命令: http://www.runoob.com/redis/redis-lists.html

4. Set(集合)

 Redis的集合不是一个线性结构, 而是一个哈希表结构, 内部会根据hash值来存储和查询数据

  • 每个集合的元素都是不能重复的, 当插入相同记录的时候都会失败
  • 集合的是无序的(存入循序和取出顺序不同)
  • 集合的每个元素都是String数据结构类型

 命令:  http://www.runoob.com/redis/redis-sets.html

5. orderd Set(有序集合)

有序集合和集合类似, 集合也是通过哈希表实现的,  它和无序集合的主要区别是每个元素除了值之外, 它还会多一个分数, 分数是一个浮点数, 根据分数, Redis就可从支持升序和降序排列, 元素也是String结构类型 , 但是对于不同元素, 用来排序的分数可以相同, 

技术分享图片

命令: http://www.runoob.com/redis/redis-sorted-sets.html

 

以上是关于Redis数据结构的主要内容,如果未能解决你的问题,请参考以下文章

redis入门

Redis详解入门篇

redis超详细入门教程

Redis入门教程

如何利用redis从数据库读出数据

redis 命令执行过程