Remote Dictionary Server(远程字典服务),是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
基本的数据结构:
String是Redis最基础的数据结构类型,它是二进制安全的,可以存储图片或者序列化的对象,值最大存储为512M。
在Redis中,哈希类型是指v(值)本身又是一个键值对(k-v)结构。
列表(list)类型是用来存储多个有序的字符串,一个列表最多可以存储2^32-1个元素。
集合(set)类型也是用来保存多个的字符串元素,但是不允许重复元素。
有序集合(zset)已排序的字符串集合,同时元素不能重复。
特点
速度快
Redis基于内存存储实现的数据库,相对于数据存在磁盘的MySQL数据库,省去磁盘I/O的消耗。Redis 作为 K-V 型内存数据库,所有的键值就是用字典来存储。字典就是哈希表,比如HashMap,通过key就可以直接获取到对应的value。而哈希表的特性,在O(1)时间复杂度就可以获得对应的值。
支持多种数据数据类型,每种基本类型,可能对多种数据结构。什么时候,使用什么样数据结构,使用什么样编码。
String:如果存储数字的话,是用int类型的编码;如果存储非数字,小于等于39字节的字符串,是embstr;大于39个字节,则是raw编码。List:如果列表的元素个数小于512个,列表每个元素的值都小于64字节(默认),使用ziplist编码,否则使用linkedlist编码Hash:哈希类型元素个数小于512个,所有值小于64字节的话,使用ziplist编码,否则使用hashtable编码。Set:如果集合中的元素都是整数且元素个数小于512个,使用intset编码,否则使用hashtable编码。Zset:当有序集合的元素个数小于128个,每个元素的值小于64字节时,使用ziplist编码,否则使用skiplist(跳跃表)编码
标签:编码,存储,字节,小于,简介,元素,Redis,汇总 From: https://blog.csdn.net/weixin_56392989/article/details/136709306