CentOS编译安装Redis-5.0
redis的概述:
redis持久化缓存服务还会周期性的把更新的数据写入到磁盘以及修改的操作记录追加到文件记录下来;
redis还支持master-slaver(主从)同步,类似于mysql的主从同步;
redis是开源的/使用C语言编写,可基于内存可持久化的日志性,并提供多种语言的API;
redis提供了python、ruby、erlang、php客户端;
redis的特点:
key-value键值类型存储;
支持数据可靠存储及落地;
单进程单线程高性能服务器;
crash safe & recovery slow;
单机 qps 可以达到10W;
适合小数据量告诉读写访问;
redis的优点:
1、持久化
2、数据类型丰富
3、redis的所有操作都是原子性的
4、时间的通知,key过期
5、支持主从复制
redis的缺陷:
1、系统运行有毛刺
2、不同命令延迟差别极大
3、内存管理开销大(设置redis不要使用内存的3/5)
4、buffer io造成系统OOM
redis的数据类型:
1、string字符串
2、Hash哈希表
3、List列表
4、Set 集合
5、Sorted set 有序集合
redis企业级应用场景:
MySQL加memcached网站架构的问题:
1、扩大和维护工作占据大量开发时间;
2、一致性的问题;
3、memcached未命中或宕机,会导致大量的访问直接穿透到数据库;
4、跨机房cache同步及cache一致性问题;
redis最佳应用场景:
1、redis最佳试用场景是全部数据in-memory;
2、redis更多场景是memcached的替代品来试用;
3、数据比较重要,对数据一致性有一定的要求;
4、当需要除key-value之外更 多的数据类型支持时;
5、需要主从同步以及负载均衡分布式应用场景;
环境:
系统:CentOS-7.5
软件:redis-5.0.2
IP地址:10.0.0.10
安装编译器:
yum -y install gcc
下载源码包:
wget http://download.redis.io/releases/redis-5.0.2.tar.gz
解压:
tar zxf redis-5.0.2.tar.gz -C /usr/local/ && cd /usr/local/redis-5.0.2/
编译:
#如果使用make报错请使用:make MALLOC=libc && echo $?
make && echo $?
创建软连接:
ln -s /usr/local/redis-5.0.2/src/redis-server /usr/sbin/
ln -s /usr/local/redis-5.0.2/src/redis-cli /usr/sbin/
配置6379实例:
mkdir -p /data/6379
#加入以下redis参数
vim /data/6379/redis.conf
#后台运行
daemonize yes
#指定监听端口
port 6379
#日志文件存放路径
logfile /data/6379/redis.log
#指定监听两个IP地址
bind 10.0.0.10 127.0.0.1
#指定认证密码为redhat
requirepass redhat
#持久化数据存放目录
dir /data/6379
#RBD持久化数据文件
dbfilename dump.rdb
启动redis:
redis-server /data/6379/redis.conf
连接redis:
#'-a指定redis认证密码,-h指定redis地址,-p指定redis端口
redis-cli -a redhat -h 10.0.0.10 -p 6379
10.0.0.10:6379>
关闭redis:
redis-cli -a redhat -h 10.0.0.10 -p 6379 shutdown