首页 > 数据库 >面试知识汇总:Redis简介

面试知识汇总:Redis简介

时间:2024-03-14 14:31:37浏览次数:30  
标签:编码 存储 字节 小于 简介 元素 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(跳跃表)编码

标签:编码,存储,字节,小于,简介,元素,Redis,汇总
From: https://blog.csdn.net/weixin_56392989/article/details/136709306

相关文章

  • MogDB openGauss常用查询汇总
    MogDB/openGauss常用查询汇总概述在MogDB/openGauss日常运维过程中,会经常通过SQL来获取想要查看的信息,这些SQL可以作为监控指标、巡检指标,也可以临时查询使用。通过系统线程id查对应的query#!/bin/bashsource~/.bashrcthread_sets=`ps-ef|grep-igaussdb|g......
  • Redis高级-删除策略、主从复制、哨兵模式
    1.删除策略1.过期数据redis中的数据特征Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态TTL返回的值有三种情况:正数,-1,-2正数:代表该数据在内存中还能存活的时间-1:永久有效的数据-2 :已经过期的数据或被删除的数据或未定义的数据......
  • 使用Docker部署带密码验证的Redis
    使用Docker部署Redis时使用的是默认配置文件不带鉴权需要鉴权可以把设置写到配置文件后通过Dockerfile生成新的镜像redis配置文件#catredis.confbind0.0.0.0port6379timeout0tcp-keepalive300daemonizenodatabases16save9001save30010save6010000#......
  • Redis对象系统
    我们之前介绍了Redis的各种基本数据类型.比如SDS字符串,链表,压缩链表,字典,跳跃表,整数集合等.但是Redis并不是直接使用它们来构建一个数据库的,而是又包装了一层,使用它们构建了对象系统,然后使用这些对象系统来建立数据库系统.Redis中主要的对象类型有:字符串对象列表对象......
  • RedisCluster集群中的插槽为什么是16384个?
    RedisCluster集群中的插槽为什么是16384个?CRC16的算法原理。1.根据CRC16的标准选择初值CRCIn的值2.将数据的第一个字节与CRCIn高8位异或3.判断最高位,若该位为0左移一位,若为1左移一位再与多项式Hex码异或4.重复3至9位全部移位计算结束5.重复将所有输入数据操作完成以上步骤......
  • Redis 八种常用数据类型详解
    夯实基础,这篇文章带着大家回顾一下Redis中的8种常用数据类型:5种基础数据类型:String(字符串)、List(列表)、Set(集合)、Hash(散列)、Zset(有序集合)。3种特殊数据类型:HyperLogLog(基数统计)、Bitmap(位图)、Geospatial(地理位置)。Redis5种基本数据类型Redis共有5种基本数据类......
  • 【Azure Redis】部署在AKS中的应用连接Redis时候出现Unable to connect to Redis serv
    问题描述在AKSPod中连接AzureRedis服务,大概率出现连接不上的问题。大多数的错误为 RedisConnectionException:UnabletoconnecttoRedisserver:xxxxxxxxx.redis.cache.chinacloudapi.cn/52.xxx.xxx.xxx:6380,但是有时候的错误信息为: RedisConnectionException:Unable......
  • IIC SPI UART RS232 RS485的差异简介
    UART串口通信:异步通信,两根线(RXDTXD)交叉连接进行点对点的通信,通信双方要设置好相同的波特率(其实不用完全一样也可以只要相差不大,毕竟是通信双方不是同一时钟),发送数据一般是发送8位,有起始位、数据、检验、停止位。串口通信的抗干扰能力差,通信距离短。RS232协议:编程还是按串......
  • docker部署redis
    1拉取最新redis镜像dockerpullredis2创建文件夹,配置redis文件mkdir/root/datavim/root/redis.conf#配置以下内容密码设定为123456bind0.0.0.0daemonizeNOprotected-modeyesrequirepass1234563映射并运行容器dockerrun-id-p6379:6379--namered......
  • 工程管理系统简介 工程管理系统源码 java工程管理系统 工程管理系统功能设计
     鸿鹄工程项目管理系统SpringCloud+SpringBoot+Mybatis+Vue+ElementUI+前后端分离构建工程项目管理系统1.项目背景一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的提升提出了更......