面试知识汇总:Redis简介

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(跳跃表)编码

相关推荐

  1. Redis相关知识汇总

    2024-03-17 05:48:01       13 阅读
  2. redis攻防知识汇总

    2024-03-17 05:48:01       9 阅读
  3. 面试Redis基础知识

    2024-03-17 05:48:01       29 阅读
  4. Redis知识汇总表格总结

    2024-03-17 05:48:01       11 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-17 05:48:01       17 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-17 05:48:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-17 05:48:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-17 05:48:01       18 阅读

热门阅读

  1. python opencv的最基础初学

    2024-03-17 05:48:01       19 阅读
  2. C---流

    C---流

    2024-03-17 05:48:01      16 阅读
  3. Linux-centos系统中如何去除配置文件中的注释部分

    2024-03-17 05:48:01       16 阅读
  4. LLMOps:机器学习运营的下一个前沿

    2024-03-17 05:48:01       21 阅读
  5. 数据结构 第4章 串(一轮习题总结)

    2024-03-17 05:48:01       18 阅读