命令记不住

登陆

Redis 缓存技术

Redis缓存技术

1.Redis安装部署

1.1下载,生产环境应部署稳定版本

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

1.2解压上传至应用安装目录

    [root@DB01 data]# tar xzf redis-3.2.12.tar.gz
    [root@DB01 data]# mv redis-3.2.12 redis

1.3安装

    [root@DB01 data]# cd redis
    [root@DB01 data]# make

1.4环境变量修改

    [root@DB01 data]# vim /etc/profile
    export PATH=/data/redis/src:$PATH
    [root@DB01 data]# source /etc/profile

1.5启动并体验使用

    [root@DB01 data]# redis-server &
    [root@DB01 data]# redis-cli
    127.0.0.1:6379> set num 10
    OK
    127.0.0.1:6379> get num
    10

2.配置文件应用

2.1生成配置文件

[root@DB01 data]# mkdir /data/6379

[root@DB01 data]# +cat > /data/6379/redis.conf <<EOF
daemonize yes
port 6379
logfile /data/6379/redis.log
dir /data/6379
dbfilename dump.rdb
EOF

2.2使用配置文件启动

[root@DB01 ~]# redis-cli shutdown
[root@DB01 ~]# redis-server /data/6379/redis.conf
[root@DB01 ~]# netstat -lnp|grep 63
+++++++++++配置文件说明++++++++++++++

redis.conf
是否后台运行:
daemonize yes
默认端口:
port 6379
日志文件位置
logfile /var/log/redis.log
持久化文件存储位置
dir /data/6379
RDB持久化数据文件:
dbfilename dump.rdb
+++++++++++++++++++++++++

3.redis安全配置

3.1说明

redis默认安装完成后,是没有密码的
redis默认开启了保护模式,只允许本地回环地址登录并访问数据库。

3.2Bind :指定IP进行监听

[root@DB01 ~]# vim /data/6379/redis.conf
bind 10.0.0.51  127.0.0.1

3.3增加requirepass {password}

[root@DB01 ~]# vim /data/6379/redis.conf
requirepass 123456

3.4测试
方法一:

[root@db01 ~]# redis-cli -a 123456
127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> exit

方法二:

[root@db01 ~]# redis-cli
127.0.0.1:6379> auth 123456
OK
127.0.0.1:6379> set a b

3.5 在线查看和修改配置

CONFIG GET *
CONFIG GET requirepass
CONFIG GET r*
CONFIG SET requirepass 123

4.redis持久化

4.1介绍及类型
内存数据保存到磁盘

  • RDB
  • AOF

一 RDB 持久化
RDB持久化介绍
可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)
优点:速度快,适合于用做备份,主从复制也是基于RDB持久化功能实现的。
缺点:会有数据丢失

1. RDB持久化配置
1.1 rdb持久化核心配置参数:

[root@DB01 ~]# vim /data/6379/redis.conf
dir /data/6379
dbfilename dump.rdb
save 900 1
save 300 10
save 60 10000

1.2 配置分别表示:

900秒(15分钟)内有1个更改
300秒(5分钟)内有10个更改
60秒内有10000个更改

二 AOF 持久化(append-only logfile)
AOF持久化介绍
记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。
AOF 文件中的命令全部以 Redis 协议的格式来保存,新命令会被追加到文件的末尾。
优点:可以最大程度保证数据不丢
缺点:日志记录量级比较大

1. AOF持久化配置

appendonly yes
appendfsync always
appendfsync everysec
appendfsync no
vim /data/6379/redis.conf
appendonly yes
appendfsync everysec

5.redis的事务支持

5.1 介绍
redis弱事务支持,提供了原子性功能。在一个事务中,发生的变更类的操作,要么全执行成功,要么全执行失败。
5.2 和MySQL控制语句的区别


1


说明:
MySQL在执行事务事务语句时,已经在内存发生了更改,如果不想执行了,需要回滚操作,完成事务,其实就是持久化的操作
Redis在开启事务后,所有的变更类的语句会放到队列中,没有真正执行,事务需要取消是,关闭掉队列即可,提交事务时,才真正执行队列的操作。根据持久化的配置将数据写入磁盘。

6. 数据类型支持

6.1 介绍

string
hash
list
set
sortset

6.2 string(字符串)类型使用
应用场景:计数器,会话缓存
6.3 hash(字典)类型
应用场景:主要是做MySQL数据库缓存,最接近于数据库表结构的数据类型
6.4 list(列表)类型
应用场景:微信朋友圈等应用
6.5 set(集合)类型
应用场景:共同好友,好友推送等
6.6 sortset(有序集合)
应用场景:排行榜应用

推荐阅读