
Redis缓存技术
1.Redis安装部署
1.1下载,生产环境应部署稳定版本
wget http://download.redis.io/releases/redis-3.2.12.tar.gz1.2解压上传至应用安装目录
[root@DB01 data]# tar xzf redis-3.2.12.tar.gz [root@DB01 data]# mv redis-3.2.12 redis1.3安装
[root@DB01 data]# cd redis [root@DB01 data]# make1.4环境变量修改
[root@DB01 data]# vim /etc/profile export PATH=/data/redis/src:$PATH [root@DB01 data]# source /etc/profile1.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 EOF2.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.13.3增加requirepass {password}
[root@DB01 ~]# vim /data/6379/redis.conf requirepass 1234563.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 b3.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 100001.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控制语句的区别
说明:
MySQL在执行事务事务语句时,已经在内存发生了更改,如果不想执行了,需要回滚操作,完成事务,其实就是持久化的操作
Redis在开启事务后,所有的变更类的语句会放到队列中,没有真正执行,事务需要取消是,关闭掉队列即可,提交事务时,才真正执行队列的操作。根据持久化的配置将数据写入磁盘。
6. 数据类型支持
6.1 介绍
string hash list set sortset6.2 string(字符串)类型使用
应用场景:计数器,会话缓存
6.3 hash(字典)类型
应用场景:主要是做MySQL数据库缓存,最接近于数据库表结构的数据类型
6.4 list(列表)类型
应用场景:微信朋友圈等应用
6.5 set(集合)类型
应用场景:共同好友,好友推送等
6.6 sortset(有序集合)
应用场景:排行榜应用
