1 安装
# 安装C编译器
yum install -y gcc
# 下载
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
# 解压
tar xzf redis-5.0.7.tar.gz
# 进入目录
cd redis-5.0.7
# 编译,生成相关命令工具到src目录
make
# 修改配置文件
配置外部访问
protected-mode no
注释bind 0.0.0.0
设置访问密码
requirepass "password"
后台启动
daemonize yes
#关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 启动redis
src/redis-server redis.conf
# 客户端连接
src/redis-cli
2 数据结构
string、list、hash、set、zset
2.1 string
2.2 list
redis的list实现了两种数据结构,分别是队列和栈
2.3 hash
应用场景:存对象
2.4 set
相当于java中的HashSet
2.5 zset
没有value赋予一个score,用于排序的权重
3 高级命令
keys name* 查找key,可以使用正则
scan 0 match name* count 1000 渐进式查找,类似分页查找
info 服务器信息
4 单线程和高性能
内存运算;单线程避免线程切换;
IO多路复用;命令进入redis会单线程排队,并且对不同的命令事件进行了注册,顺序处理请求,但是依然是单线程原子操作;
5 持久化
RDB:指定的时间变化指定次数,全量备份到dump.rdb,保存的是快照,这是默认方式,因为是全量备份,比较消耗资源
AOP:对于变化的命令,增量持久化到磁盘,备份到appendonly.aof文件,保存的是命令,工作中推荐用AOF,但是命令太多的时候,重启会很慢
Redis4.0后提供了混合持久化的方式:配置为:aof-use-rdb-preamble yes