1.什么是redis?
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
2.redis的特点
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便.
Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
3.redis的安装
1.安装:
确保已经安装了gcc
tar zxf redis-5.0.3.tar.gz
cd redis-5.0.3
make
make install
2.启动:
cd utils/
./install_server.sh
修改配置文件允许本机之外的访问:
vim /etc/redis/6379.conf
再重新启动:
/etc/init.d/redis_6379 restart
检测:
4.实现redis的主从复制
主库:172.25.60.1
从库:172.25.60.2
1.从库安装redis,由于主库已经安装好redis,直接将主库的redis目录传给从库然后开始编译:
配置文件最后需要加一行:
slaveof 172.25.60.1 6379
然后重新启动再检测:
可以读取道主库内容,但是无法写入数据
5.部署sentinel模式
1.首先再作一台slave:
2.在主库:拷贝sentinel(哨兵)文件,并编辑:
3.将该文件传给两个从库:
4.主从库都开启sentinel模式:
会看到这样的一个图案:
5.测试:
查看主库信息:
查看哨兵模式信息:
关掉主库:
172.25.60.3成为新的主库:
查看此时的主库信息:
只有一个从库了。