当前位置: 首页 > news >正文

Redis 数据类型和单线程模型补充

一、五种主要数据类型

对于 key 只有一种数据类型就是 string

对于 value 有五种常见的数据类型 string, hash, list, set, zset

二、编码方式

在 Redis 中不能用字面意思来理解数据类型,为了保证操作的快,每种数据类型都会有不同的优化策略,导致编码方式并不是传统的数据类型组织形式。

数据类型内部编码方式
string                                

raw 基本字符串

int 存储整数

emstr 短字符串存储优化

hash

hashtable 基本哈希表

ziplist 存储元素少会用压缩列表节省空间

list

linkedlist 链表

ziplist

set

hashtable

intset 存储的都是整数

zset

skiplist 跳表

ziplist

三、单线程模型补充

Redis 在处理请求的时候是单线程,因为 Redis 的每次操作保证了短平快。

单线程处理请求也保证了每一个命令都是串行执行,省去多线程竞争开销。

但是 Redis 用多线程处理网络 IO,用到的技术是 IO 多路复用。

Redis 为什么快?

首先对比于数据库那肯定是快的。

1、Redis 访问内存比访问硬盘快。

2、核心功能短平快,进而处理请求用单线程,省去多线程竞争开销。

3、网络 IO 用到 epoll 多路复用。

http://www.xdnf.cn/news/1275229.html

相关文章:

  • Spring的三层架构及其各个层用到注解详细解释。
  • reuse: for booting my spring project with mvn in Windows command line
  • 基于 InfluxDB 的服务器性能监控系统实战(三)
  • Ubuntu 安装 Elasticsearch
  • Elasticsearch 搜索模板(Search Templates)把“可配置查询”装进 Mustache
  • 人工智能-python-机器学习-决策树与集成学习:决策树分类与随机森林
  • 深入浅出DBSCAN:基于密度的聚类算法详解与Python实战
  • redis集群-本地环境
  • AAAI 2025丨具身智能+多模态感知如何精准锁定目标
  • BGP笔记整理
  • CST MATLAB 联合仿真超材料开口谐振环单元
  • PWM波的频谱分析及matlab 验证[电路原理]
  • 企业高性能web服务器——Nginx
  • PySpark
  • 【redis初阶】------List 列表类型
  • Mysql 8.0 新特性
  • drippingblues靶机通关练习笔记
  • 搭建本地 Git 服务器
  • nginx-主配置文件
  • Flask多进程数据库访问问题详解
  • Words or Vision Do Vision-Language Models Have Blind Faith in Text
  • Baumer高防护相机如何通过YoloV8深度学习模型实现道路坑洼的检测识别(C#代码UI界面版)
  • 基于FFmpeg的B站视频下载处理
  • 配置timer控制 IO的输出(STC8)
  • 浏览器CEFSharp88+X86+win7 之js交互开启(五)
  • 【LeetCode】102 - 二叉树的层序遍历
  • MySQL 处理重复数据详细说明
  • DBAPI 实现不同角色控制查看表的不同列
  • SQL约束:数据完整性的守护者
  • 【面试场景题】异地多活改造方案