redis的作用和redis为什么那么快

1 redis的作用:

  用redis做缓存,redis可以用作数据库,缓存和消息中间件。

redis如何做持久化:可以每隔一定时间将数据集导出到磁盘(快照),或者追加到命令日志中,会在执行写命令时,将被执行的写命令复制到硬盘里面。

redis为什么快:redis将数据存储在内存里面,读写数据的时候都不会受到磁盘i/o速度的限制,所以速度极快。

1 完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。类似于hashmap,hashmap的优势就是查找和操作的时间复杂度都是O(1);

2 数据结构简单,对数据操作也简单,redis中的数据结构是专门进行设计的。

3 采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多线程或者多线程导致的切换而消耗cpu,不用去考虑各种锁的问题,不存在加锁释放锁操作,没有因为可能出现死锁

而导致的性能消耗;

4 使用多路I/O复用模型,非阻塞io;

原文地址:https://www.cnblogs.com/hxjj/p/8971877.html

时间: 2024-10-14 08:42:12

redis的作用和redis为什么那么快的相关文章

Redis(1.16)Redis监控为什么是单线程?为什么快?

[1]Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快: 2.redis是单线程的,省去了很多上下文切换线程的时间: 3.redis使用多路复用技术,可以处理并发的连接.非阻塞IO 内部实现采用epoll,采用了epoll+自己实现的简单的事件框架.epoll中的读.写.关闭.连接都转化成了事件,然后利用epoll的多路复用特性,绝不在io上浪费一点时间. 下面重点介绍单线程设计和IO多路复用核心设计快的原因. [2]为什么Redis是单线程的 基本解释 因为Red

redis演练(1) 搭建redis服务

Redis VS Memcached 通过对比学习,可以加深理解组件的特性.下面两段文字,摘自各自的官方文档. http://www.redis.io/ http://memcached.org/ Redis官方简介 Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structur

Redis(Windows安装方法与Java调用实例 & 配置文件参数说明 & Java使用Redis所用Jar包 & Redis与Memcached的区别)

Windows下Redis的安装使用 0.前言 因为是初次使用,所以是在windows下进行安装和使用,参考了几篇博客,下面整理一下 1.安装Redis 官方网站:http://redis.io/ 官方下载:http://redis.io/download 可以根据需要下载不同版本 windows版:https://github.com/MSOpenTech/redis github的资源可以ZIP直接下载的(这个是给不知道的同学友情提示下) 下载完成后 可以右键解压到 某个硬盘下 比如D:\R

Redis(三)Redis基本命令操作与API

一Redis 连接 Redis 连接命令主要是用于连接 redis 服务. 实例 以下实例演示了客户端如何通过密码验证连接到 redis 服务,并检测服务是否在运行: redis 127.0.0.1:6379> AUTH "password" OK redis 127.0.0.1:6379> PING PONG 下表列出了 redis 连接的基本命令: 序号 命令及描述 1 AUTH password 验证密码是否正确 2 ECHO message 打印字符串 3 PING

redis学习之三配置文件redis.conf 的含义

摘自http://www.runoob.com/redis/redis-conf.html 参数说明 redis.conf 配置项说明如下: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定 pidfile /var/run/redis.pid 3. 指定Redis监听端口,默认端口为6379

Redis开发 - 1. 认识redis

1. 什么是Redis? Redis is a very fast non-relational database that stores a mapping of keys to five different types of values. (Redis是一种速度非常快的非关系型数据库,NoSql的一种,它存储着以键值对为形式的数据,值的类型5种.) Redis是Remote Dictionary Server(远程字典服务器)的缩写. Redis supports in-memory pe

nginx+php+redis vs nginx+lua+redis

最近在做通知系统,前端用的轮询方式(后端压力不小),因为时间比较紧,开始我准备把未读通知标识存在数据库中,但是每次拿数据的时候需要查询一遍数据库,总监说你这样效率较低,说你可以根据用户id作为key放在redis中存储.说说自己在做这个的一些体会和闲下来总结的一些笔记. phpredis connect pconnect 我最开始使用的是connect,每次请求完毕关闭连接 1 <?php 2 $redis = new Redis(); 3 $nError = $redis->connect(

Redis中国用户组|唯品会Redis cluster大规模生产实践

嘉宾:陈群 很高兴有机会在Redis中国用户组给大家分享redis cluster的生产实践.目前在唯品会主要负责redis/hbase的运维和开发支持工作,也参与工具开发工作 Outline 一.生产应用场景 二.存储架构演变 三.应用最佳实践 四.运维经验总结 第1.2节:介绍redis cluster在唯品会的生产应用场景,以及存储架构的演变.第3节:redis cluster的稳定性,应用成熟度,踩到过那些坑,如何解决这些问题?这部分是大家比较关心的内容.第4节:简单介绍大规模运营的一些

[Redis] windows下安装 Redis

一:Redis是什么? Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API. 通过https://github.com/mythz/redis-windows这里可以直接下载,然后解压 定义 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和has