Redis 入门

Redis 简介

一个神奇的网站

在这里插入图片描述

大型翻车现场

在这里插入图片描述

问题现象

  • 海量用户
  • 高并发

罪魁祸首——关系型数据库

  • 性能瓶颈:磁盘IO性能低下
  • 扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群

解决思路

Nosql

  • 降低磁盘IO次数,越低越好 —— 内存存储
  • 去除数据间关系,越简单越好 —— 不存储关系,仅存储数据

什么是Nosql?

NoSQL:即 Not-Only SQL( 泛指非关系型的数据库),作为关系型数据库的补充。
作用:应对基于海量用户和海量数据前提下的数据处理问题。

特征:
⚫ 可扩容,可伸缩
⚫ 大数据量下高性能
⚫ 灵活的数据模型
⚫ 高可用

常见 Nosql 数据库:
⚫ Redis
⚫ memcache
⚫ HBase
⚫ MongoDB

解决方案(电商场景)

在这里插入图片描述

小节

⚫ 企业级应用的常见问题
◆ 海量用户
◆ 高并发
⚫ NoSQL

Redis

概念:Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。
特征:

  1. 数据间没有必然的关联关系
  2. 内部采用单线程机制进行工作
  3. 高性能.官方提供测试数据,50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。
  4. 多数据类型支持
    ◆ 字符串类型 string
    ◆ 列表类型 list
    ◆ 散列类型 hash
    ◆ 集合类型 set
    ◆ 有序集合类型 zset/sorted_set
  5. 支持持久化,可以进行数据灾难恢复

Redis 的应用

⚫ 为热点数据加速查询(主要场景),如热点商品、热点新闻、热点资讯、推广类等高访问量信息等
⚫ 即时信息查询,如各位排行榜、各类网站访问统计、公交到站信息、在线人数信息(聊天室、网站)、设备信号等
⚫ 时效性信息控制,如验证码控制、投票控制等
⚫ 分布式数据共享,如分布式集群架构中的 session 分离
⚫ 消息队列

小节

⚫ Redis概念
Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。
⚫ Redis特征

  1. 数据间没有必然的关联关系
  2. 内部采用单线程机制进行工作
  3. 高性能。官方提供测试数据,50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。
  4. 多数据类型支持
    ◆ 字符串类型 string
    ◆ 列表类型 list
    ◆ 散列类型 hash
    ◆ 集合类型 set
    ◆ 有序集合类型 zset/sorted_set
  5. 支持持久化,可以进行数据灾难恢复

Redis 的下载与安装

基于Center OS7安装Redis

⚫ 下载安装包

wget http://download.redis.io/releases/redis-5.0.0.tar.gz

⚫ 解压安装包

tar –xvf redis-5.0.0.tar.gz

⚫ 编译(在解压的目录中执行)

make

⚫ 安装(在解压的目录中执行)

make install

安装 Redis

⚫ redis-server 服务器启动命令
⚫ redis-cli 客户端启动命令
⚫ redis.conf redis核心配置文件
⚫ redis-check-dump RDB文件检查工具(快照持久化文件)
⚫ redis-check-aof AOF文件修复工具

已有安装包安装

⚫ 上传安装包

  • 安装包已经在资料中直接上传到虚拟机

⚫ 安装gcc环境

yum -y install gcc-c++ tcl

⚫解压

tar -zxvf redis-5.0.0.tar.gz

⚫make

  • 进入解压目录执行make

⚫make install

  • 进入解压目录执行make install
  • 最终效果如下图
    在这里插入图片描述

常见问题

  1. 没有wget命令(-bash: wget: 未找到命令)
yum -y install wget
  1. 下载网络受限
    • 下载地址
wget --no-check-certificate 
http://download.redis.io/releases/redis-5.0.0.tar.gz

Redis服务器启动

⚫ 启动服务器——参数启动

redis-server [--port port] 

⚫ 范例

redis-server --port 6379

⚫ 启动服务器——配置文件启动

redis-server config_file_name

⚫ 范例

redis-server redis.conf

Redis客户端启动

⚫ 启动客户端

redis-cli [-h host] [-p port]

⚫ 范例

redis-cli –h 61.129.65.248 –p 6384

注意:服务器启动指定端口使用的是–port,客户端启动指定端口使用的是-p。-的数量不同

Redis基础环境设置约定

⚫ 创建配置文件存储目录

mkdir conf

⚫ 创建服务器文件存储目录(包含日志、数据、临时配置文件等)

mkdir data

⚫ 创建快速访问链接

ln -s redis-5.0.0 redis

小节

⚫ Redis启动

  • 服务器启动
redis-server --port 6379
  • 客户端启动
redis-cli -h IP地址 -p 端口号

服务器端设定

⚫ 设置服务器以守护进程的方式运行,开启后服务器控制台中将打印服务器运行信息(同日志内容相同)

daemonize yes|no

⚫ 绑定主机地址

bind ip

⚫ 设置服务器端口号

port port

⚫ 设置服务器文件保存地址

dir path

客户端配置

⚫服务器允许客户端连接最大数量,默认0,表示无限制。当客户端连接到达上限后,Redis会拒绝新的连接

maxclients count

⚫ 客户端闲置等待最大时长,达到最大值后关闭对应连接。如需关闭该功能,设置为 0

timeout seconds

日志配置

⚫ 设置服务器以指定日志记录级别

loglevel debug|verbose|notice|warning

⚫ 日志记录文件名

logfile filename

注意:日志级别开发期设置为verbose即可,生产环境中配置为notice,简化日志输出量,降低写日志IO的频度

小节

⚫ 服务器相关

  ◆ daemonize yes|no
  ◆ bind ip-address
  ◆ port [port]
  ◆ dir ”目录名”

⚫ 客户端相关

  ◆ maxclients [client-num] 
  ◆ timeout [seconds]

⚫ 日志相关

  ◆ loglevel debug|verbose|notice|warning
  ◆ logfile ”日志文件名”

Redis 的基本操作

信息读写

⚫ 设置 key,value 数据

set key value

⚫ 范例

set name itheima

⚫ 根据 key 查询对应的 value,如果不存在,返回空(nil)

get key

⚫ 范例

get name

帮助信息

⚫ 获取命令帮助文档

help [command]

⚫ 范例

help set

⚫ 获取组中所有命令信息名称

help [@group-name]

⚫ 范例

help @string

退出命令行客户端模式

⚫ 退出客户端

quit || exit

⚫ 快捷键

Ctrl+C

小节

⚫ 数据操作

   	◆ get
	◆ set

⚫ 获取帮助信息

	◆ help

⚫ 退出客户端

	◆ quit
	◆ exit

总结

Redis 入门

  1. Redis 简介
    ◆ NoSQL
    ◆ Redis
  2. Redis 的下载与安装
    ◆ 下载与安装
    ◆ 服务器与客户端启动
    ◆ 配置文件(3类)
  3. Redis 的基本操作
    ◆ 数据读写
    ◆ 退出与帮助信息获取
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值