redis的基本介绍
redis 是一个基于内存的高性能key-value数据库,整个数据库系统加载到内存中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存,因为是纯内存操作,redis的性能非常出色,每秒处理10w次读写操作,是性能最快的key-value DB。
除了性能之外,redis最大魅力在于支持多种数据结构,此外单个value的最大限制是1G,memcached只能保存1M的数据,redis可以用来实现很多有用的功能,比如用list做FIFO双向链表,实现一个轻量级的高性能消息队列服务,用set做高兴呢能的tag系统等。
redis对存入的key-value设置expire时间,因为也可以被当作一个功能加强版的memcached来用
1.主要缺点:数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此redis的适用场景主要局限在较小数据量的高性能操作和运算上。
2.使用redis有哪些好处?
速度快,数据存在内存中
支持的数据类型很丰富,string , list , set, sorted list, hash
支持事务,操作具有原子性
丰富的特性,用于缓存,消息
3.redis跟me’mcached优势?
memcached 所有的值都是简单的字符串,redis支持更丰富的数据类型
redis速度更快
redis可以持久化数据
redis支持数据备份,即master-slave模式的数据备份
使用底层模型不同:
底层的实现方式以及客户端之间通信的应用协议不一样
redis直接构建了VM机制,一般的系统调用系统函数的话,会浪费一定的时间去请求
value大小:redis最大可以达到1G, memcache只有1M
redis常见问题
- Redis的常见问题
(1) Master最好不要做任何持久化工作,如RDB内存快照和AOF日志文件(Master写内存快照,save命令调度rdbSave函数,会阻塞主线程的工作,当快照比较大时对性能影响是非常大的,会间断性暂停服务,所以Master最好不要写内存快照;AOF文件过大会影响Master重启的恢复速度)
(2) 如果数据比较重要,某个Slave开启AOF备份数据,策略设置为每秒同步一次
(3) 为了主从复制的速度和连接的稳定性,Master和Slave最好在同一个局域网内
(4) 尽量避免在压力很大的主库上增加从库
(5) 主从复制不要用图状结构,用单向链表结构更为稳定