01-Redis 简单介绍
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 简单介绍的更多相关文章
- Python redis 简单介绍
Python redis 简单介绍 1.安装 终端输入: pip(or)pip3.6 install redis 安装成功 2.哈哈,发现我并没有redis服务可以访问,所以到这里,在本机安装了red ...
- Redis简单介绍
redis简单介绍 Redis VS key-value缓存产品 Redis支持数据的持久化,能够将内存中的数据保持在磁盘中,重新启动的时候能够再次载入进行使用. Redis不只支持简单的key-va ...
- Redis 简单介绍(知识整理笔记)
前言: Redis 介绍:轻量级.Key-Value.内存数据库.支持持久化 Redis 数据结构:string(字符串),hash(哈希),list(列表),set(集合)及 zset (sorte ...
- Redis简单介绍以及数据类型存储
因为我们在大型互联网项目其中.用户訪问量比較大,比較多.会产生并发问题,对于此.我们该怎样解决呢.Redis横空出世,首先,我们来简单的认识一下Redis.具体介绍例如以下所看到的: Redis是一个 ...
- Redis简单介绍与数据类型
介绍 分布式缓存 NoSql:解决高并发.高可用.高可扩展,大数据存储等一系列问题而产生的数据库解决方案. Redis:键值(Key-Value)存储数据库 Redis是使用c语言开发的一个高性能键值 ...
- Redis简单介绍与安装
Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis有三个主要特点,使它优越于其它键值数据存储系统 - 1) Redis将其数据库完全保存在内 ...
- Redis实战——简单介绍
出自:https://www.cnblogs.com/moonlightL/p/7364107.html Redis简单介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能, ...
- 攻城利器 —— Carthage简单介绍
01 Carthage简单介绍 主页:https://github.com/Carthage/Carthage.git 作者:Justin Spahr-Summers等 版本:0.18 目标:用最简单 ...
- redis学习(一) redis的介绍与安装
redis简单介绍 redis全称remote-dictionary-server 直译为远程字典服务器, 是一个高性能的key-value存储系统,也被称为数据结构服务器,因为其所存储的数据值(va ...
随机推荐
- IAR调试查看程序时间
在无仿真器情况下设置: 调试仿真,点击view菜单下registers 软件仿真时计算两断点CYCLECOUNTER(在CPU registers中)的差值,乘以指令周期(MCLK)便是执行时间
- centos7下安装配置prometheus
prometheus官网:https://prometheus.io/download/ 搭建环境参考:https://blog.csdn.net/baidu_36943075/article/det ...
- unittest,requests,assertEqual实战演练
请求方式:POST请求url:https://api.apiopen.top/developerLogin请求参数:名称 类型 必须 描述 示例name string 是 账号 peakchaopas ...
- 创建一个任意大小的全色矩阵 python
img = np.zeros((112,112,3))#cv2.imread('F:/project/Breast/InBreast/INBreast/outimgpatch/allnocalcifi ...
- ubuntu下的mv命令
移动文件 代码: mv file1 dir1 #因为dir1目录是存在的,可以不加 / 直接放入 mv file1 dir1/ #把temp文件移动到myfiles目录中 移动目录 代码: mv di ...
- Python进阶-XVII 非python的接口类、多态、python自己的封装
1.python模拟java中的接口类 python中是没有接口类的概念的,因为它支持多继承,但是java不能,所以就提出一个接口类的概念 java : 面向对象编程 设计模式 —— 接口 接口类 : ...
- git 关联vs code
{ "window.zoomLevel": 1, "editor.fontSize": 15, "gitlens.advanc ...
- mysql不是内部或外部命令--windows环境下报错的解决
安装Mysql后,当我们在cmd中敲入mysql时会出现‘Mysql’不是内部或外部命令,也不是可运行的程序或其处理文件. 处理: 我的电脑右键属性>高级系统设置>高级>环境变量&g ...
- 对flutter中,ExpsionPanel的简单改造
因为项目有大量的下拉面板,而默认的组件(默认的padding.颜色.大小)不是我们UI设计上想要的,但是每个地方都要去改又很麻烦.于是我就想,可以对这个组件进行定制化改造,传入一些颜色.参数.图标大小 ...
- Unity Shader NPR 卡通渲染
卡通渲染的主要原理包含两个方面: 1.轮廓线的描边效果 2.模型漫反射离散和纯色高光区域的模拟 描边: 描边的实现方法采用将模型的轮廓线顶点向法线(或顶点)的方向扩展一定的像素得到.也可通过边缘检测( ...