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 ...
随机推荐
- SpringBoot与SpringMVC的区别是什么?
感谢原文出处:https://www.cnblogs.com/javazhiyin/ Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spr ...
- 6.2 DataFrame
一.DataFrame概述 在Spark SQL中,DataFrame就是它的数据抽象,对DataFrame进行转换操作. DataFrame的推出,让Spark具备了处理大规模结构化数据的能力,不仅 ...
- vue+elementUI+node实现登录模块--验证用户名是否正确
验证用户名是否正确 1==>// 引入qs import qs from 'qs'; 2===>收集用户账号后, 发送请求 把参数发给后端(把用户名和密码发给后 ...
- openpyxl的简单使用
openpyxl的简单使用 openpyxl 操作excel的库,只能操作xlxs 文件, xlrd/xlwt这两个库能兼容xls(2003版) 安装 pip install openpyxl如果ex ...
- /usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
https://www.jb51.net/article/142787.htm gn gn 问题如何解决?????
- c# WF 第7节 对控件的基本操作
本节内容: 1:修改控件的大小 2:控件的顺序 3:控件的对齐 4:移动button实例 1: 修改控件的大小 第一种: 第二种 : 一次操作多个控件: 选择一个控件.按住ctrl -- 再选择一个控 ...
- Mybatis拦截器(六)
拦截器的作用就是我们可以拦截某些方法的调用,在目标方法前后加上我们自己逻辑. Mybatis拦截器设计的一个初衷是为了供用户在某些时候可以实现自己的逻辑而不必去动Mybatis固有的逻辑. Mybat ...
- Mybatis的XML映射文件(四)
MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% ...
- LG4979 矿洞:坍塌 珂朵莉树
问题描述 LG4979 题解 珂朵莉树+O2简直就是绝配 对于操作 A ,直接 \(\mathrm{assign}\) 推平就完事了. 对于操作 B ,如果它左右端点有在边界上的,直接把区间 \([l ...
- 【AtCoder】AtCoder Grand Contest 035 解题报告
点此进入比赛 \(A\):XOR Circle(点此看题面) 大致题意: 给你\(n\)个数,问是否能将它们摆成一个环,使得环上每个位置都是其相邻两个位置上值的异或值. 先不考虑\(0\),我们假设环 ...