当前位置: 首页 > 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.dtcms.com/a/325044.html

相关文章:

  • HyDE 在 RAG 知识问答助手中的应用解析
  • CentOS7安装和使用Workbench
  • AtomicStampedReference解决方案
  • 基于python/django框架的车型识别系统
  • 复现论文《基于Retinex理论和深度学习的低照度图像增强算法研究》
  • 问津集 #4:The Five-Minute Rule for the Cloud: Caching in Analytics Systems
  • windows运维
  • SF-CPI-SAP问题收集24:集成地址信息的村里字段无法页面显示问题
  • ECharts 的理解和简单应用笔记
  • 【无标题】消息队列(Message Queue)是一种**进程间通信(IPC)机制
  • 深度学习-卷积神经网络-AlexNet
  • index.d.ts 是什么?作用 + 怎么生成?
  • 糖果大冒险:公平分发的智慧挑战
  • Stagewise使用指南:从项目集成到效能跃迁的深度解析
  • 【算法题】:和为N的连续正数序列
  • AI大模型-提示词工程
  • 01 词法分析陷阱:C编程中的符号误解
  • 深度解析 Spring Boot 循环依赖:原理、源码与解决方案
  • PhotoDirector 安卓版:功能强大的照片编辑与美化应用
  • TypeScript中的type和interface的区别是什么?
  • Shell脚本-数组定义
  • OpenEnler等Linux系统中安装git工具的方法
  • DDR中的POD与ODT
  • 分布式事务原理(高并发系统下的数据一致性保障)
  • 一、线性规划
  • 免费数字人API开发方案
  • 高精度计算+快速幂算法
  • 【算法题】:斐波那契数列
  • 【langchain】如何给langchain提issue和提pull request?
  • SpringIoc 实践和应用--XML配置