一.Redis介绍
1.redis是什么?
remote dIctionary server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis提供了一些丰富的数据结构,包括 lists, sets, ordered sets 以及 hashes ,当然还有和Memcached一样的 strings结构.Redis当还包括了对这些数据结构的丰富操作。
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
2.redis特点
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
二.安装Redis
1.安装依赖包
yum -y install gcc-c++ yum -y install tcl yum –y install wget
2.下载redis源码包
3.编译安装redis
mv redis-2.8.24.tar.gz /usr/src/ cd /usr/src/ tar xf redis-2.8.24.tar.gz cd redis-2.8.24 make && make install echo $? #查看编译安装是否出错
4.查看版本号
redis-server --version
5.设置配置文件路径
mkdir -p /usr/local/redis cp redis.conf /usr/local/redis/
6.修改后台运行
vim /usr/local/redis/redis.conf
将daemonize no 修改为 daemonize yes。作用是使redis后台运行,否则启动redis服务端时会报报警告,导致redis客服端连接不上
7.启动与关闭redis
/usr/local/bin/redis-server /usr/local/redis/redis.conf 启动 killall -9 redis-server 关闭 netstat -anpt | grep 6379
8.暂时修改redis密码为 redis@ranye
修改redis.conf配置文件,改参数:requirepass + 密码
9.修改redis端口号
cp /usr/local/redis/redis.conf /usr/local/redis/redis9532.conf mkdir -p /var/log/redis/ mkdir -p /var/run/redis vim /usr/local/redis/redis9532.conf 修改: pidfile /var/run/redis/redis9532-server.pid port 9532 ~ logfile /var/log/redis/redis9532-server.log ~ dbfilename dump9532.rdb killall -9 redis-server #关掉之前启动的redis /usr/local/bin/redis-server /usr/local/redis/redis9532.conf #重新启动 netstat -anpt | grep redis #检查端口号是否更改 redis-cli -p 9532 #登录客户端测试
10.持久化配置(基于快照)
redis是内存数据库,它把数据存储在内存中,这样在加快读取速度的同时也对数据安全性产生了新的问题,即当redis所在服务器发生宕机后,redis数据库里的所有数据将会全部丢失。
为了解决这个问题,redis提供了持久化功能——RDB和AOF。通俗的讲就是将内存中的数据写入硬盘中。
[root@server6 ~]# mkdir -p /data/redis9532-rdb #创建持久化数据文件存放的路径 [root@server6 ~]# vim /usr/local/redis/redis9532.conf save 900 1 save 300 10 save 60 10000 dbfilename "dump9532.rdb" #持久化文件名称 dir "/data/redis9532-rdb" #持久化数据文件存放的路径 #重启redis生效 [root@server6 ~]# killall redis-server [root@server6 ~]# /usr/local/bin/redis-server /usr/local/redis/redis9532.conf
三.配置Redis主从
1.安装redis2
安装步骤同上
2.修改 redis 的redis.conf 文件
slaveof ip + 端口号 //去掉此行注释,并改为redis1的ip地址和端口号
3.配置redis2密码为 Redis@ranye.slave
修改redis.conf配置文件,改参数:requirepass + 密码
4.启动redis2
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
5.测试redis1与redis2数据是否能够同步
在redis1写入数据
set name chenjaixin
get name
然后在redis2上查看
get name #如显示chenjaixin 则表示同步成功
注意:在配置redis复制功能的时候如果主数据库设置了密码,需要在从数据的配置文件中通过masterauth参数设置主数据库的密码,这样从数据库在连接主数据库时就会自动使用auth命令认证了。相当于做了一个免密码登录。
(如果redis有密码,必须设置masterauth参数,否则数据是同步不过来的)