首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Redis是什么?--介绍和原理

Redis是什么?--介绍和原理

原创
作者头像
陈不成i
修改2021-06-17 14:15:54
修改2021-06-17 14:15:54
8140
举报
文章被收录于专栏:ops技术分享ops技术分享

一.简介

Redis是一款开源的、高性能的键-值存储。它常被称作是一款数据结构服务器、缓存服务器。Rredis属于非关系型数据库和Memcached类似,Redis也是一种key-value型存储系统。

当值支持的主要数据类型为:

  • 字符串(strings)类型
  • 哈希(hashes)
  • 列表(lists)
  • 集合(sets)
  • 有序集合(sorted sets)

同时Redis可以进行持久化RDB、AOF(将数据存到硬盘),意味着不仅仅可以作为高速缓存服务器,也可以作为数据库使用。

二.原理

redis命令结构

  • 1.客户端发送命令后,Redis服务器将为这个客户端链接创造一个’输入缓存’,将命令放到里面。
  • 2.再由Redis服务器进行分配挨个执行,顺序是随机的,这将不会产生并发冲突问题,也就不需要事物了。
  • 3.再将结果返回到客户端的’输出缓存’中,输出缓存先存到’固定缓冲区’,如果存满了,就放入’动态缓冲区’,客户端再获得信息结果。

如果数据是写入命令,例如set name:1 zhangsan方式添加一个字符串Redis将根据策略,将这对key:value来用内部编码格式存储。好处是改变内部编码不会对外有影响,正常操作即可,同时不同情况下存储格式不一样,发挥优势。

Redis高性能原因

1.基于内存的访问,非阻塞I/O,Redis使用事件驱动模型epoll多路复用实现,连接、读写、关闭都转换为事件不在网络I/O上浪费过多的时间

2.单线程避免的高并发的时候,多线程有锁的问题和线程切换的CPU开销的问题。虽然是单线程的,我们还可以通过多实例来弥补。

3.使用C语言编写,更好的发挥服务器性能,并且代码简洁,性能高

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.简介
  • 二.原理
    • redis命令结构
    • Redis高性能原因
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档