Redis7
Redis7
NuyoahRedis7入门概述
Remote Dictionary Server(远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、Set、SortedSet等等。数据是存在内存中的,同时Redis支持事务、持久化、LUA脚本、发布/订阅、缓存淘汰、流技术等多种功能特性提供了主从模式、Redis Sentinel和Redis Cluster集群架构方案
Redis是一种缓存技术
- 分布式缓存,挡在mysql数据库之前的带刀护卫
- 内存存储和持久化(RDB+AOF), redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务
- 高可用架构搭配
- 缓存穿透、击穿、雪崩
- 分布式锁
- 队列
- 排行版+点赞
- …
数据库遵循 2(写)- 8(读)原则,为了让这两个保持平衡,我们使用redis缓存,将8(读)进行降低。
与传统数据库关系(mysql)
-
Redis是key-value数据库(NoSQL一种),mysql是关系数据库
-
Redis数据操作主要在内存,而mysql主要存储在磁盘
-
Redis在某一些场景使用中要明显优于mysql,比如计数器、排行榜等方面
-
Redis通常用于一些特定场景,需要与Mysql一起配合使用
-
两者并不是相互替换和竞争关系,而是共用和配合使用
优势
- 性能极高 - Redis能读的速度是110000次/秒,写的速度是81000次/秒
- Redis数据类型丰富,不仅仅支持简单的key-value类型的数据
- 同时还提供list,set,zset,hash等数据结构的存储
- Redis支持数据的持久化,可以将内存中的数据保持在磁盘中
- 重启的时候可以再次加载进行使用
- Redis支持数据的备份,即master-slave模式的数据备份
下载
官网:www.redis.cn
github:Release 7.2.4 · redis/redis (github.com)
文档资料:
版本号第二位如果是奇数,则为非稳定版本 如2.7、2.9、3.1
版本号第二位如果是偶数,则为稳定版本 如2.6、2.8、3.0、3.2
当前奇数版本就是下一个稳定版本的开发版本,如2.9版本是3.0版本的开发版本
安装
-
下载获得redis-7.0.0.tar.gz后将它放入我们的Linux目录/opt
opt文件夹寻找方法:
- ctrl + alt + t 打开终端
- cd …/ 返回上一层目录
- cd …/ 返回上一层目录
- ls 就能看到opt
-
/opt目录下解压redis
tar -zxvf redis-7.0.0.tar.gz
-
进入 redis文件夹
-
在redis中执行 make && make install,make可能需要下载,按照终端提示就行
-
默认安装目录:在opt同级文件夹下的 usr/local/bin
- redis-benchmark:性能测试工具,服务启动后运行该命令,看看自己本子性能如何
- redis-check-aof: 修复有问题的AOF文件,rdb和aof后面讲
- redis-check-dump: 修复有问题的dump.rdb文件
- redis-cli: 客户端,操作入口
- redis-sentinel: redis集群使用
- Redis服务器启动命令
- redis-server:
-
将默认的redis.conf拷贝到自己定义好的一个路径下,比如/myredis
-
修改/myredis目录下redis.conf配置文件做初始化设置
redis.conf配置文件,改完后确保生效,记得重启,记得重启
使用vim修改
vim打开操作:vim 需要打开的文件夹
vim查找操作:/查找的字符串,查到之后按回车,然后通过n查找下一个,N查找上一个
vim插入操作:i,修改完毕之后使用esc退出
vim退出操作::wq!
- 默认daemonize no 改为 daemonize yes
- 默认protected-mode yes 改为 protected-mode no
- 默认bind 127.0.0.1 改为 直接注释掉(默认bind 127.0.0.1只能本机访问)或改成本机IP地址,否则影响远程IP连接
- 添加redis密码 改为 requirepass 你自己设置的密码
-
启动服务
使用/myredis中修改完的配置文件启动redis
redis-server /myredis/redis7.conf
ps -ef|grep redis|grep -v grep