1.使用Redis有哪些好处?
1).速度快,因为数据存在内存中,类似于hashmap,hashmap的优势就是查找和操作的时间复杂度都是0(1)
在关系型数据库中,在1条记录中插入一个数值和一万条记录中插入一个数值的速度是不一样的,但是在非关系型数据库中,理论上没有区别。
(2).支持丰富数据类型:string,list,set,sorted set, hash(memcached只支持字符串)
(3)支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行(memcached是存就存,删就删)
(4)丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除。
2.redis相比memcached有哪些优势?
(1)memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型。
(2)redis速度比memcached快很多
(3)redis可以持久化其数据
3.redis常见性能问题和解决方案
(1)master最好不要做任何持久化工作,如RDB内存快照和AOF日志文件(redis做持久化操作有两种方式RDB和AOF,RDB相当于mysqldump,AOF相当于binlog二进制日志文件)
(2)如果数据比较重要,某个slave开启AOF备份数据,策略设置为每秒同步一次
(3)为了主从复制的速度和连接的稳定性,Master和slave最好再同一个区域网内
(4)尽量避免在压力很大的主库上增加从库
(5)主从复制不要用图状结构(一主多从,从还带从),用单向链表结构更为稳定。实际工作中多用一主多从。这样的结构方便解决单点故障问题,实现Slave对master的替换。如果master挂了,可以立刻启用slave1做master,其他不变。
4.Redis集群工作原理
一主多从+哨兵模式
在一主多从的基础上配置哨兵模式,负责监控整个集群,负责选master的,哨兵模式只能实现功能上的高可用,不能实现真正的高可用,如需真正的高可用还需要结合keepalived.
网友评论