Redis - 基础总结

目录

一、Redis 功能介绍

二、 Redis与Memcached的应用场景对比

三、Redis的简单安装部署

四、Redis基本管理操作

4-1 基础配置文件

4-2 客户端常用命令

4-3 通过Redis安全配置的方式

4-3-1 方式一、Bind - 指定IP进行监听

4-3-2 方式二、增加requirepass  {password}

4-3-3 验证安全配置

4-4 在线查看Redis配置和修改

五、Redis持久化 - 将内存数据保存到磁盘

5-1 RDB的持久化配置

5-2 AOF 的持久化配置


一、Redis 功能介绍

  • 高速读写
  • 数据类型丰富  - 五大数据类型  
  • 支持数据持久化      (笔试、面试)*****
  • 多种内存分配及回收策略
  • 支持事务      
  • 消息队列、消息订阅 
  • 支持高可用             
  • 支持分布式分片集群 
  • 缓存穿透\雪崩
  • Redis API

二、 Redis与Memcached的应用场景对比

  • Memcached:多核的缓存服务,更加适合于多用户并发访问次数较少的应用场景
  • Redis:单核的缓存服务,单节点情况下,更加适合于少量用户,多次访问的应用场景。
    • Redis一般是单机多实例架构,配合redis集群出现。

三、Redis的简单安装部署

# 下载:
wget http://download.redis.io/releases/redis-3.2.12.tar.gz

# 解压:
# 上传至 /data
tar xzf redis-3.2.12.tar.gz
mv redis-3.2.12 redis

# 安装:
cd redis
make

# 启动:
src/redis-server &

# 环境变量:
vim /etc/profile 
export PATH=/data/redis/src:$PATH
source /etc/profile 

# 后台启动服务进行测试
redis-server & 

# 连接测试
redis-cli 
127.0.0.1:6379> set num 10
OK
127.0.0.1:6379> get num
10

四、Redis基本管理操作

4-1 基础配置文件

  • redis.conf  配置文件参数说明
    • daemonize yes - 是否后台运行:
    • port 6379 - 默认端口
    • logfile /var/log/redis.log - 日志文件位置
    • dir /data/6379 - 持久化文件存储位置
    • dbfilename dump.rdb - RDB持久化数据文件:
# 关闭redis服务
[root@standby ~]# redis-cli  shutdown 

# 创建目录
mkdir /data/6379

# 创建配置文件并编辑
cat >>/data/6379/redis.conf <<EOF
daemonize yes
port 6379
logfile /data/6379/redis.log
dir /data/6379
dbfilename dump.rdb
EOF

# 重启redis
redis-cli shutdown 
redis-server /data/6379/redis.conf 
netstat -lnp|grep 63

4-2 客户端常用命令

  • redis-cli 客户端命令常用参数说明
    • redis-cli 刚装完,可以在redis服务器上直接登录redis
      • -p 6379   指定端口号
      • -h        指定链接地址
      • -a        指定链接密码
    • redis-cli  set num  10 ,无交互执行redis命令
    • cat /tmp/1.txt |redis-cli
[root@db01 ~]# redis-cli -h 10.0.0.51  -p 6379
10.0.0.51:6379> 

4-3 通过Redis安全配置的方式


redis 默认开启了保护模式,只允许本地回环地址登录并访问数据库。
禁止protected-mode
protected-mode yes/no (保护模式,是否只允许本地访问)

4-3-1 方式一、Bind - 指定IP进行监听

echo "bind 10.0.0.200  127.0.0.1" >>/data/6379/redis.conf

4-3-2 方式二、增加requirepass  {password}

echo "requirepass 123" >>/data/6379/redis.conf

!!注意!!:更改安全配置方式后,需要重启redis

redis-cli shutdown 
redis-server /data/6379/redis.conf 

4-3-3 验证安全配置

方法一:
[root@db03 ~]# redis-cli -a 123
127.0.0.1:6379> set name zhangsan 
OK
127.0.0.1:6379> exit


方法二:
[root@db03 ~]# redis-cli
127.0.0.1:6379> auth 123
OK
127.0.0.1:6379> set a b

4-4 在线查看Redis配置和修改

CONFIG GET *
CONFIG GET requirepass
CONFIG SET requirepass 123

五、Redis持久化 - 将内存数据保存到磁盘

作用 : 可以有效防止,在redis宕机后,缓存失效的问题.

Redis两种持久化方式总结和区别

  • RDB:基于快照的持久化,速度更快,一般用作备份,主从复制也是依赖于rdb持久化功能
  • AOF:以追加的方式记录redis操作日志的文件。可以最大程度的保证redis数据安全,类似于mysql的binlog

RDB 持久化

  可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot

  • RDB 持久化优点
    • RDB是一种表示某个即时点的Redis数据的紧凑文件。RDB文件适合用于备份。例如,你可能想要每小时归档最近24小时的RDB文件,每天保存近30天的RDB快照。这允许你很容易的恢复不同版本的数据集以容灾。
    • RDB非常适合于灾难恢复,作为一个紧凑的单一文件,可以被传输到远程的数据中心。
    • RDB最大化了Redis的性能,因为Redis父进程持久化时唯一需要做的是启动(fork)一个子进程,由子进程完成所有剩余工作。父进程实例不需要执行像磁盘IO这样的操作。
    • RDB在重启保存了大数据集的实例时比AOF要快
  • RDB 持久化缺点
    • 当你需要在Redis停止工作(例如停电)时最小化数据丢失,RDB可能不太好。你可以配置不同的保存点(save point)来保存RDB文件(例如,至少5分钟和对数据集100次写之后,但是你可以有多个保存点)。然而,你通常每隔5分钟或更久创建一个RDB快照,所以一旦Redis因为任何原因没有正确关闭而停止工作,你就得做好最近几分钟数据丢失的准备了。
    • RDB需要经常调用fork()子进程来持久化到磁盘。如果数据集很大的话,fork()比较耗时,结果就是,当数据集非常大并且CPU性能不够强大的话,Redis会停止服务客户端几毫秒甚至一秒。AOF也需要fork(),但是你可以调整多久频率重写日志而不会有损(trade-off)持久性(durability)

AOF 持久化

  记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。

  • AOF 持久化 优点:可以最大程度保证数据不丢
  • AOF 持久化 缺点:日志记录量级比较大

5-1 RDB的持久化配置

vim /data/6379/redis.conf
dir /data/6379
dbfilename dump.rdb

save 900 1
save 300 10
save 60 10000

900秒(15分钟)内有1个更改
300秒(5分钟)内有10个更改
60秒内有10000个更改
当达到以上定义的配置时间时,就将内存数据持久化到磁盘。

5-2 AOF 的持久化配置

appendonly yes/no  是否打开aof日志功能
appendfsync everysec  每秒写1次
appendfsync always 每1个命令,都立即同步到aof 
appendfsync no  写入工作交给操作系统,由操作系统判断缓冲区大小,统一写入到aof.

# 实例
vim /data/6379/redis.conf
appendonly yes
appendfsync everysec 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值