Redis - 概述
redis是一款高性能的开源NOSQL系列的非关系型数据库,Redis是用C语言开发的一个开源的高键值对(key value)数据库,官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s,且Redis通过提供多种键值数据类型来适应不同场景下的存储需求,目前Redis支持的键值数据类型如下:
- 字符串类型String
- 哈希类型hash
- 列表类型list
- 集合类型set
- 有序集合类型sortedset
相当于再mysql之间添加一个中间的玩意
如果redis中有数据,直接返回
没有数据,从数据库查询,将数据放入缓存,返回数据
使用场景
- 高频次,热门访问的数据,降低数据库IO
- 分布式架构,做session共享
- 多样的数据结构存储持久化数据
缓存层:可以将缓慢的数据库读取操作缓存到Redis中,从而提高读取速度。
消息队列:Redis支持发布/订阅模式,可以通过发布/订阅机制实现消息队列,用于异步任务处理等场景。
计数器:Redis的原子性操作可以实现高并发场景下的计数器功能。
排序榜:Redis支持有序集合数据类型,可以用于排行榜功能。
实时数据分析:Redis支持数据结构和操作,适用于实时数据计算和分析场景。
分布式锁:Redis可以通过SETNX实现分布式锁,用于避免多个客户端同时修改同一资源导致的数据不一致问题。
会话管理:Redis可以按照用户ID分别缓存用户的登录状态,用于实现分布式系统中的会话管理。
如何安装
Redis 版本号采用标准惯例:主版本号.副版本号.补丁级别,一个副版本号就标记为一个标准发行版本,例如 1.2,2.0,2.2,2.4,2.6,2.8,奇数的副版本号用来表示非标准版本,例如2.9.x发行版本是Redis 3.0标准版本的非标准发行版本。
Window 下安装
下载地址:https://github.com/dmajkic/redis/downloads。
下载到的Redis支持32bit和64bit。根据自己实际情况选择,将64bit的内容cp到自定义盘符安装目录取名redis。 如 C:\reids
打开一个cmd窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.conf 。
Linux 下安装
下载地址:Redis下载,下载最新文档版本。
本教程使用的最新文档版本为6.2.6,下载并安装:
$ wget https://download.redis.io/releases/redis-6.2.6.tar.gz $ tar xzf redis-6.2.6.tar.gz $ cd redis-6.2.6.tar $ make
make完后 redis-6.2.6目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli
下面启动redis服务.
$ ./redis-server
docker直接进行安装
下载Redis镜像
命令 | 描述 |
docker pull redis | 下载最新版Redis镜像 (其实此命令就等同于 : docker pull redis:latest ) |
docker pull redis:xxx | 下载指定版本的Redis镜像 (xxx指具体版本号) |
创建并运行容器
docker run \ -d \ --name redis \ -p 6379:6379 \ --restart unless-stopped \ -v /home/redis/data:/data \ -v /home/redis/conf/redis.conf:/etc/redis/redis.conf \ redis-server /etc/redis/redis.conf \ redis:bullseye
进入容器
docker exec -it redis /bin/bash
Redis启动检查常用命令
- redis-benchmark:性能测试工具
- redis-check-aof:修复有问题的AOF文件,rdb和aof
- redis-check-dump:修复有问题的dump.rdb文件
- redis-sentinel:Redis哨兵模式
- redis-server:Redis服务器启动命令
- redis-cli:客户端,操作入口