缓存产品介绍:
性能高,数据结构简单
1.Redis功能介绍
数据类型丰富
支持持久化
多种内存分配及回收策略
支持事务(原子型)
消息队列、消息订阅
支持高可用
支持分布式分片集群
缓存穿透、雪崩
Redis API
2.企业缓存产品介绍
Memcached:
优点:高性能读写、单一数据类型、支持客户端分布式集群、一致性hash、多核结构、多线程读写性能高
缺点: 无持久化、节点故障可能会出现缓存穿透、分布式需要客户端实现、跨机房数据困难、架构扩容复杂
Redis:
优点:高性能读写、多数据类型支持、数据持久化、高可用架构、支持自定义虚拟内存、支持分布式分片集群、单线成读写性能极高(单个用户提交多个任务性能极高,当用户连接超过五百、性能直线下降,可以通过多实例解决)
缺点:多线程读写较Memcached慢
Memcached与Redis在读写性能的对比
Memcached适合,多用户访问,每个优化少量的读写
Redis 适合,少用户访问,每个用户大量的读写
Tair:
优点:高性能读写、支持三种存储引擎(ddb、rdb、ldb)、支持高可用、支持分布式分片集群、支撑了几乎所有淘宝业务的缓存。
缺点:单机情况下,读写性能较其他两种产品较慢
3.Redis使用场景介绍
Memcached:多核的缓存服务,更加适合于多用户并发访问次数较少的应用场景
Redis:单核的缓存服务,单节点情况下,更加适合于少量用户,多次访问的应用场景。
Redis一般是单机多实例架构,配合redis集群出现。
4.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
安装:
yum -y install gcc automake autoconf libtool make
cd redis
make
环境变量:
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
5.Redis基本管理介绍
5.1基础配置文件介绍
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-cli shutdown
redis-server /data/6379/redis.conf
netstat -lnp|grep 63
+++++++++++配置文件说明++++++++++++++
redis.conf
是否后台运行:
daemonize yes
默认端口:
port 6379
日志文件位置
logfile /var/log/redis.log
持久化文件存储位置
dir /data/6379
RDB持久化数据文件:
dbfilename dump.rdb
++++++++++++++++++++++++++++++++++++++
redis-cli
127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> get name
"zhangsan"
5.2 redis安全配置
redis默认开启了保护模式,只允许本地回环地址登录并访问数据库。
Bind :指定IP进行监听.增加requirepass {password}
vim /data/6379/redis.conf
bind 10.0.0.51 127.0.0.1
requirepass 123456
验证
方法一:
[root@db03 ~]# redis-cli -a 123456
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 123456
OK
127.0.0.1:6379> set a b
[root@db01 src]# redis-cli -a 123 -h 10.0.0.51 -p 6379
10.0.0.51:6379> set b 2
OK
5.3 在线查看和修改配置
CONfig GET *
CONfig GET requirepass
CONfig GET r*
CONfig SET requirepass 123
5.4 Redis持久化(将内存中的数据保存到磁盘中)
RDB、AOF
RDB 持久化
可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)
优点: 速度快,适合于用作备份,主从复制也是基于RDB持久化功能实现的。
缺点: 会有数据丢失
rdb持久化配置参数:
vim /data/6379/redis.conf
save 900 1
save 300 10
save 60 10000
配置分别表示:
900秒内有一个更改
300秒内有10个更改
60秒内有10000个更改
说明:
正常shutdown redis,自动触发save
crash redis 异常关闭,不会触发save
AOF持久化(append-only log file)
类似于MysqL的binlog日志,会记录所有修改操作的内容
记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。
AOF 文件中的命令全部以Redis 协议的格式来保存,新命令会被追加到文件的末尾。
优点: 可以最大程度保证数据不丢
缺点: 日志记录量较大
AOF 持久化配置
appendonly yes #打开AOF持久化功能
三个选项:
appendfsync always #每次变更都会保存记录
appendfsync everysec #每秒钟记录一次
appendfsync no #由系统自动决定
6.Redis数据类型
6.1 介绍
String: 字符类型
Hash: 字典类型
List: 列表
Set: 集合
Sorted set: 有序集合
6.2 key的通常操作
KEYS * 查看已存在所有键的名字
TYPE 返回键所存储值的类型
EXPIRE/PEXPIRE 以秒/毫秒设定生存时间
TTL/ PTTL 以秒/毫秒为单位返回生产时间
PERSIST 取消生存时间设置
DEL 删除一个KEY
EXISTS 检查是否存在
RENAME 变更KEY名
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。