Redis 简单介绍

1、Redis 是什么

Redis 是一种基于键值对的 NoSQL 数据库,与很多键值对数据库不同, redis 中的值可以有 string, hash , list , set , zset , geo 等多种数据结构和算法组成。

因为 Redis 会将所有的数据都放在内存中,所以它的读写性能非常惊人. 不仅如此, Redis 还可以将内存中的数据利用快照和日志的形式保存到硬盘上。 Redis 还提供了键过期,发布订阅,事务,流水线等附加功能.

2、Redis 重要特性

2.1 速度快

Redis 所有的数据都存放在内存中

Redis 使用 C 语言实现

Redis 使用单线程架构

2.2 基于键值对的数据结构服务器

5种数据结构:字符串,哈希,列表,集合,有序集合

2.3 丰富的功能

提供了键过期功能,可以实现缓存 提供了发布订阅功能,可以实现消息系统

提供了 pipeline 功能,客户端可以将一批命令一次性传到 Redis,减少了网络开销

2.4 简单稳定

源码很少,3.0 版本以后 5 万行左右. 使用单线程模型法

Redis 服务端处理模型变得简单. 不依赖操作系统的中的类库

2.5 客户端语言多

java,PHP,python,C,C++,Nodejs 等

2.6 持久化

RDB 和 AOF

2.7 主从复制

2.8 高可用和分布式

哨兵

集群

3、Redis 应用场景

3.1 缓存-键过期时间

缓存 session 会话

缓存用户信息,找不到再去 mysql 查,查到然后回写到 redis

3.2 排行榜-列表&有序集合

热度排名排行榜

发布时间排行榜

3.3 计数器应用-天然支持计数器

帖子浏览数

商品浏览数

视频播放次数

3.4 社交网络-集合

踩/赞,粉丝,共同好友/喜好,推送,打标签

3.5 消息队列系统-发布订阅

配合 elk 实现日志收集

#### 今天你学习了吗?若有疑问,请留言、私信或加QQ群:647033350,大家一起进步吧!

01-Redis 简单介绍的更多相关文章

  1. Python redis 简单介绍

    Python redis 简单介绍 1.安装 终端输入: pip(or)pip3.6 install redis 安装成功 2.哈哈,发现我并没有redis服务可以访问,所以到这里,在本机安装了red ...

  2. Redis简单介绍

    redis简单介绍 Redis VS key-value缓存产品 Redis支持数据的持久化,能够将内存中的数据保持在磁盘中,重新启动的时候能够再次载入进行使用. Redis不只支持简单的key-va ...

  3. Redis 简单介绍(知识整理笔记)

    前言: Redis 介绍:轻量级.Key-Value.内存数据库.支持持久化 Redis 数据结构:string(字符串),hash(哈希),list(列表),set(集合)及 zset (sorte ...

  4. Redis简单介绍以及数据类型存储

    因为我们在大型互联网项目其中.用户訪问量比較大,比較多.会产生并发问题,对于此.我们该怎样解决呢.Redis横空出世,首先,我们来简单的认识一下Redis.具体介绍例如以下所看到的: Redis是一个 ...

  5. Redis简单介绍与数据类型

    介绍 分布式缓存 NoSql:解决高并发.高可用.高可扩展,大数据存储等一系列问题而产生的数据库解决方案. Redis:键值(Key-Value)存储数据库 Redis是使用c语言开发的一个高性能键值 ...

  6. Redis简单介绍与安装

    Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis有三个主要特点,使它优越于其它键值数据存储系统 - 1) Redis将其数据库完全保存在内 ...

  7. Redis实战——简单介绍

    出自:https://www.cnblogs.com/moonlightL/p/7364107.html Redis简单介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能, ...

  8. 攻城利器 —— Carthage简单介绍

    01 Carthage简单介绍 主页:https://github.com/Carthage/Carthage.git 作者:Justin Spahr-Summers等 版本:0.18 目标:用最简单 ...

  9. redis学习(一) redis的介绍与安装

    redis简单介绍 redis全称remote-dictionary-server 直译为远程字典服务器, 是一个高性能的key-value存储系统,也被称为数据结构服务器,因为其所存储的数据值(va ...

随机推荐

  1. IAR调试查看程序时间

    在无仿真器情况下设置: 调试仿真,点击view菜单下registers 软件仿真时计算两断点CYCLECOUNTER(在CPU registers中)的差值,乘以指令周期(MCLK)便是执行时间

  2. centos7下安装配置prometheus

    prometheus官网:https://prometheus.io/download/ 搭建环境参考:https://blog.csdn.net/baidu_36943075/article/det ...

  3. unittest,requests,assertEqual实战演练

    请求方式:POST请求url:https://api.apiopen.top/developerLogin请求参数:名称 类型 必须 描述 示例name string 是 账号 peakchaopas ...

  4. 创建一个任意大小的全色矩阵 python

    img = np.zeros((112,112,3))#cv2.imread('F:/project/Breast/InBreast/INBreast/outimgpatch/allnocalcifi ...

  5. ubuntu下的mv命令

    移动文件 代码: mv file1 dir1 #因为dir1目录是存在的,可以不加 / 直接放入 mv file1 dir1/ #把temp文件移动到myfiles目录中 移动目录 代码: mv di ...

  6. Python进阶-XVII 非python的接口类、多态、python自己的封装

    1.python模拟java中的接口类 python中是没有接口类的概念的,因为它支持多继承,但是java不能,所以就提出一个接口类的概念 java : 面向对象编程 设计模式 —— 接口 接口类 : ...

  7. git 关联vs code

    {     "window.zoomLevel": 1,     "editor.fontSize": 15,     "gitlens.advanc ...

  8. mysql不是内部或外部命令--windows环境下报错的解决

    安装Mysql后,当我们在cmd中敲入mysql时会出现‘Mysql’不是内部或外部命令,也不是可运行的程序或其处理文件. 处理: 我的电脑右键属性>高级系统设置>高级>环境变量&g ...

  9. 对flutter中,ExpsionPanel的简单改造

    因为项目有大量的下拉面板,而默认的组件(默认的padding.颜色.大小)不是我们UI设计上想要的,但是每个地方都要去改又很麻烦.于是我就想,可以对这个组件进行定制化改造,传入一些颜色.参数.图标大小 ...

  10. Unity Shader NPR 卡通渲染

    卡通渲染的主要原理包含两个方面: 1.轮廓线的描边效果 2.模型漫反射离散和纯色高光区域的模拟 描边: 描边的实现方法采用将模型的轮廓线顶点向法线(或顶点)的方向扩展一定的像素得到.也可通过边缘检测( ...