Redis从入门到入土——Redis介绍以及安装

本系列是Redis的入门系列第一部分的内容:主要介绍了NoSql和Redis,以及Redis的应用场景和Redis如何在Windows上安装以及配置

文章目录

    • Redis
      • NoSql和Redis介绍
        • 什么是NoSql
        • 什么是Redis
        • Redis为什么快
        • NoSql数据库分类
          • 键值(key-value)存储数据库
          • 列存储数据库
          • 文档性数据库
          • 图形数据库
      • Redis的应用场景
      • Redis安装以及配置
        • Windows
        • 发布订阅

Redis

系列文章

Redis第一天

Redis第二天

Redis第三天

Redis第四天

Redis第五天

NoSql和Redis介绍

什么是NoSql

  • NoSql:not-Only Sql(不仅仅是SQL)泛指非关系型数据库
  • 关系型数据库:数据结构是一种有行有列的数据库
  • NoSql数据库是为了解决高并发,高可用,高扩展性、大数据存储问题而产生的
  • 作为关系型数据库的良好补充,不能替代关系型数据库

什么是Redis

  • 用C语言开发的一个开源的高性能键值对(key-value)内存数据库
  • 提供五种数据类型:字符串类型、散列类型、列表类型、集合类型、有序类型
  • 是一种NoSql数据库

Redis为什么快

​ Redis采用的是基于内存的,单进程单线程模型的KV数据库,由C语言编写,官方提供的数据是可以达到100000+的QPS(每秒内查询次数)

​ 完全基于内存,绝大多数的请求是纯粹的内存操作,非常迅速。它的数据存放在内存中,类似于HashMap

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

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

​ 使用多路I/O复用模型,非阻塞IO

​ 它们之间底层实现方式以及与客户端之间通信的应用协议不一样,Redis直接自己构建了VM机制,因为一般的系统调用系统的函数的话,会浪费一定的时间去移动和请求。

NoSql数据库分类

键值(key-value)存储数据库
  • Redis、Tokyo Cabinet/Tyrant、Voldemort、Berkeley Db等
  • 典型应用:内存缓存、主要用于处理大量数据的高访问负载
  • 数据模型:一系列键值对
  • 优势:快速查询
  • 劣势:存储的数据缺少结构化
列存储数据库
  • Hbase、Riak、Cassandra
  • 典型应用:分布式的文件系统
  • 数据模型:以列簇式存储,将同一列的数据存放在一起
  • 优势:查找迅速、可扩展性强、更容易进行分布式扩展
  • 劣势:功能性相对局限
文档性数据库
  • MongoDB、CouchDB
  • 典型应用:web应用(与key-value类似、value是结构化的)
  • 数据模型:一系列键值对
  • 优势:数据结构要求不严格
  • 劣势:
图形数据库
  • Neo4J、InfoGrid、Infinite、Graph
  • 典型应用:社交网络
  • 数据模型:图结构
  • 优势:利用图结构相关算法
  • 劣势:需要对整个图做计算才能得出结果,不容易做分布式的集群方案

Redis的应用场景

  • 内存数据库(登录信息、购物车信息、用户浏览记录)
  • 缓存服务器(商品数据、广告数据)最多使用
  • 解决分布式集群框架中的Session分离问题(Session共享)
  • 任务队列(秒杀、抢购、12306)
  • 支持发布订阅的消息模式
  • 应用排行榜
  • 网站访问统计
  • 数据过期处理(精确到毫秒)

Redis安装以及配置

Windows

  • 下载路径:下载路径

Redis从入门到入土——Redis介绍以及安装_第1张图片

  • 安装:

一路next即可

端口号:

Redis从入门到入土——Redis介绍以及安装_第2张图片

  • 设置密码:修改配置文件

默认是没有密码的。

配置文件:

Redis从入门到入土——Redis介绍以及安装_第3张图片

redis.windows.conf:

Redis从入门到入土——Redis介绍以及安装_第4张图片

redis.windows-service.conf:

Redis从入门到入土——Redis介绍以及安装_第5张图片

  • 启动服务

Redis从入门到入土——Redis介绍以及安装_第6张图片

  • 使用Redis

Redis从入门到入土——Redis介绍以及安装_第7张图片

  • 启动服务

Redis从入门到入土——Redis介绍以及安装_第8张图片

Redis命令说明

redis-server :启动redis服务
redis-cli :进入redis命令客户端
redis-benchmark: 性能测试的工具
redis-check-aof : aof文件进行检查的工具
redis-check-dump :  rdb文件进行检查的工具
redis-sentinel :  启动哨兵监控服务

发布订阅

我们可以开启两个客户端来实现一下Redis的发布订阅功能

  • A客户端订阅频道(rediszhonghu)

    • subscribe rediszhonghu
  • B客户端发布内容

    • publish rediszhonghu “hello , zhonghu”

A客户端即会自动收到内容,如下图所示

Redis从入门到入土——Redis介绍以及安装_第9张图片

你可能感兴趣的:(Redis,redis)