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数据结构的主要内容,如果未能解决你的问题,请参考以下文章