首页 > 数据库 >2-Redis概述

2-Redis概述

时间:2023-06-22 09:03:47浏览次数:49  
标签:多路 Redis 复用 概述 IO 线程 poll

image

1. 应用场景

1.1 配合关系型数据库做高速缓存

  • 高频次,热门访问的数据,降低数据库 IO
  • 分布式架构,做 session 共享

image

1.2 多样的数据结构存储持久化数据

image

2. Redis 介绍相关知识

image

image

多路复用指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用 select 和 poll 函数,传入多个文件描述符,如果有一个文件描述符就位,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启用线程执行(比如使用线程池)、

就是说多路 IO 复用起到一个监视的效果,就绪后,Redis 直接执行,不需要等待

串行与采用多线程+锁(Memcached)与单线程+多路 IO 复用的比较

  • 串行:阻塞 IO,一件事一件事的做,在做当前事时,不能做其他事,有等待

  • 采用多线程+锁:非阻塞 IO,一直重复做当前的事,没有等待

  • 单线程+多路 IO 复用:做某件事情需要一定的时间,可以监视这件事,我们可以做其他的事。多路 IO 复用有 select,poll,epoll 这些模式。select 监测数量能力有限。poll 监测数量没有限制,但是需要一个一个核查。配 epoll 监测数量没有限制,也不需要一个一个核查,直接看是否有一个正确的标识。

image

标签:多路,Redis,复用,概述,IO,线程,poll
From: https://www.cnblogs.com/NorthPoet/p/17497443.html

相关文章

  • PostgresSQL 概述
    PostgreSQL简介PostgreSQL是世界上最先进的开源对象-关系型数据库管理系统(ORDBMS),简称Postgres。它最初基于加利福尼亚大学伯克利分校开发的POSTGRES,Version4.2,至今已有30多年的历史。首先说开源,PostgreSQL是一个免费并且开源的软件。它的代码基于PostgreSQL许可发行,这是一......
  • 【Azure Redis 缓存】应用中出现连接Redis服务错误(production.ERROR: Connection ref
    问题描述在PHP应用中,连接Redis的方法报错  RedisException(code:0):Connectionrefusedat/data/Redis/Connectors/PhpRedisConnector.phpproduction.ERROR:Connectionrefused{"exception":"[object](RedisException(code:0):Connectionrefusedat/data/Redis/Con......
  • 【Azure Redis 缓存】应用中出现连接Redis服务错误(production.ERROR: Connection ref
    问题描述在PHP应用中,连接Redis的方法报错  RedisException(code:0):Connectionrefusedat/data/Redis/Connectors/PhpRedisConnector.phpproduction.ERROR:Connectionrefused{"exception":"[object](RedisException(code:0):Connectionrefusedat/data/Redis/......
  • 深度学习概述
    深度学习概述1.深度学习定义深度学习(Deep learning)起源于人工神经网络,它的定义:通过组合低层特征形成更加抽象的高层特征或类别,从而从大量的输入数据中学习有效特征表示,并把这些特征用于分类、回归和信息检索的一种技术。何谓为深度:网络学习得到的函数中,非线性运算组合水平的数量。......
  • 2023-06-21:redis中什么是BigKey?该如何解决?
    2023-06-21:redis中什么是BigKey?该如何解决?答案2023-06-21:什么是bigkeybigkey是指存储在Key-Value数据库中的键对应的值所占用的内存空间较大。举个例子,如果值是字符串类型,它可以达到最大512MB的存储空间;如果值是列表类型,最多可以存储2^32-1个元素,即4294967295个元素。根据数......
  • redis部署
    redis部署目录redis部署一、环境二、创建存放路径、下载、解压、编译安装包1、创建存放路径2、下载redis安装包3、解压4、编译5、复制编译后的配置文件,并修改三、通过systemctl管理redis服务,配置文件1、添加服务管理的配置文件2、启动服务、查看状态、设置开机自启四、创建软链,设......
  • 2023-06-21:redis中什么是BigKey?该如何解决?
    2023-06-21:redis中什么是BigKey?该如何解决?答案2023-06-21:什么是bigkeybigkey是指存储在Key-Value数据库中的键对应的值所占用的内存空间较大。举个例子,如果值是字符串类型,它可以达到最大512MB的存储空间;如果值是列表类型,最多可以存储2^32-1个元素,即4294967295个元素。根......
  • 什么是Redis 雪崩、缓存"鸡"穿、缓存穿透?及出现的原因,如何预防
    Redis雪崩:在某个时间段,Redis的部分节点或者全部节点都挂掉了,导致Redis无法提供服务,请求全部转移到后端数据库,从而压垮数据库的情况。Redis雪崩通常由于某些原因导致缓存中的数据批量失效或者过期,导致后续请求都落到了数据库上,使得数据负载和请求量急剧增大,最终导致数据库的性能急......
  • 刷机方式概述
    我按我已知的来讲述所有的刷机方式。大致分为物理层、cpu层、启动层、操作系统层、应用程序层、web层、单文件层,刷机的难度都是递简的。物理层刷机方案,俗称烧录,就是将一个系统所用到的所有内容包括启动程序、分区等等打包成一个文件,使用烧录工具如Win32DiskImager、dd,烧录......
  • 如何利用Redis实现对数据去重?
    要使用Redis实现数据去重,可以利用Redis的Set数据结构和它的去重特性。下面是一种基本的方法:连接到Redis服务器:首先,确保你已经安装并正确地配置了Redis服务器,并且能够连接到它。创建一个Set:在Redis中,可以使用以下命令创建一个Set:SADDset_nameitem1item2item3...这里的set_name......