1. Redis概述
1.1 Redis特性
- Redis是一个开源的key-value存储系统。
- 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
- 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
- 在此基础上,Redis支持各种不同方式的排序。
- 与memcached一样,为了保证效率,数据都是缓存在内存中。、
- 区别的是Redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
- 并且在此基础上实现了**master-slave(主从)**同步。
1.2 应用场景
1.2.1 配合关系型数据库做高速缓存
- 高频词,热门访问的数据,降低数据库IO
- 分布式架构,做session共享
1.2.2 多样的数据结构存储持久化数据
2. Redis安装
2.1 安装步骤
进入官网 https://redis.io/,找到 6.2 版本并进行下载:
1、首先将 redis 安装包复制到 Linux 系统的 /opt 目录下。
2、如果虚拟机没有C语言编译环境(gcc --version
命令查看),那么还需要安装C 语言的编译环境:
yum install gcc
3、解压redis:tar -zxvf redis-6.2.1.tar.gz
4、解压完成后进入目录:cd redis-6.2.1
5、在 redis-6.2.1目录下再次执行make
命令进行编译
如果没有准备好C语言编译环境,make 会报错—Jemalloc/jemalloc.h:没有那个文件
解决方案:运行make distclean,在redis-6.2.1目录下再次执行make命令(只是编译好)
6、继续执行:make install
7、安装成功后可以去默认安装目录 /usr/local/bin 查看:
redis-benchmark:性能测试工具,可以在自己本子运行,看看自己本子性能如何
redis-check-aof:修复有问题的AOF文件,rdb和aof后面讲
redis-check-dump:修复有问题的dump.rdb文件
redis-sentinel:Redis集群使用
redis-server:Redis服务器启动命令
redis-cli:客户端,操作入口
2.2 前台启动(不推荐)
前台启动,命令行窗口不能关闭,否则服务器停止:
特别注意:为什么在任何工作路径下都可以通过 redis-server 来启动redis?
因为redis的安装目录在 /usr/local/bin 里面,而Linux的环境变量PATH包含了这个路径:
2.3 后台启动
1、备份redis.conf。拷贝一份 redis.conf 到其他目录:
2、修改上面移动后的目录下的 redis.conf(vim /etc/redis.conf
),将后台启动设置 daemonize no 改成 yes:
3、后台启动:
4、用客户端访问:
5、redis的关闭:
-
方式1:在 redis-cli 中通过
shutdown
关闭:直接 redis-cli shutdown 也可
-
方式2:通过ps命令找到进程号,然后 kill 进程。
2.4 redis 相关知识
-
默认16个数据库,类似数组下标从 0 开始,初始默认使用0号库。使用命令
select 库id
来切换数据库: -
统一密码管理,所有库同样密码。
-
dbsize 查看当前数据库的 key 的数量
-
flushdb 清空当前库
-
flushall 通杀全部库
Redis是单线程+多路IO复用技术。
memcached:多线程 + 锁
-
dbsize 查看当前数据库的 key 的数量
-
flushdb 清空当前库
-
flushall 通杀全部库
Redis是单线程+多路IO复用技术。
memcached:多线程 + 锁
redis:单线程 + 多路IO复用。与Memcache三点不同: 支持多数据类型,支持持久化,单线程+多路IO复用