5种数据类型

Redis支持5种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
① 简介:String是Redis最基础的数据结构类型,它是二进制安全的,可以存储数字,图片或者序列化的对象,值最大存储为512M
简单使用举例: set key value、get key等
应用场景:共享session、分布式锁,计数器、限流。
② 哈希类型是指v(值)本身又是一个键值对(k-v)结构
简单使用举例:hset key field value 、hget key field
内部编码:ziplist(压缩列表) 、hashtable(哈希表)
应用场景:缓存用户信息等。
③ Redis list 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
底层双向链表,可以通过push和pop操作从列表的头部或者尾部添加或者删除元素,这样List即可以作为栈,也可以作为队列
lpush+lpop=Stack(栈)
lpush+rpop=Queue(队列)
④ Redis set是string类型的无序集合。不包含重复元素
⑤ Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。但sorted set可以通过用户额外提供一个优先级(score)的参数来为成员排序,并且是插入有序的,即自动排序。
Redis sorted set的内部使用ziplist或跳表,跳表组合了skiplist和hash,HashMap里放的是成员到score的映射,而跳表里存放的是所有的成员,
跳表就是在链表的基础上,增加多级索引提升查找效率。
跳表支持平均 O(logN),最坏 O(N)复杂度的节点查找,还可以通过顺序性操作批量处理节点。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容