phpredis手册地址 :https://blog.csdn.net/dreamboycx/article/details/50969279
redis :redis是一个key-value存储系统和memcache类似,它支持的value类型相对更多包括string(字符串) list(链表) set(集合)和zset(有序集合)。这些数据类型都支持push/pop add/remove 及取交集和并集及丰富的操作。而且这些操作都是原子性的,在此基础上redis支持各种不同方式的排序。于memcache一样为了保证效率数据都是保存在内存中 区别在于redis会周期性的把缓存数据写入磁盘或者把修改操作记录到追加的文件,并在此基础上实现了主从同步【master-slave】
redis的特点 :
【1】多样的数据模型
【2】数据持久化
【3】主从同步
最主要的特点就是实现了数据的持久化通过两种方式实现
(1)通过RDB快照的方式不断地将数据写入到磁盘中
(2)类似于mysql的AOF日志的方式记录每次更新的日志
前者可能会引起部分的数据的丢失,后者支持主从同步,对数据的读取性大大有益
redis分布式可扩展性
Redis则在服务器端构建分布式存储。Redis Cluster是一个实现了分布式且允许单点故障的Redis高级版本,它没有中心节点,各个节点地位一致,具有线性可伸缩的功能。如图给出Redis Cluster的分布式存储架构,其中节点与节点之间通过二进制协议进行通信,节点与客户端之间通过ascii协议进行通信
redis和memcache的区别和对比
(1)性能对比: redis只使用单核 memecache使用多核 redis存储小数据性能高 大数据memecache性能高
(2)内存空间和数据量的大小:memcache可以修改内存的大小 使用LRU redis增加了vm特性突破了物理空间的限制
(3)操作便利上:redis存储类型多样 可以在服务器上操作
(4)redis支持数据的持久化 memcache不支持数据持久化 断电和重启数据丢失
适用的场景:
memcache:动态系统中减少数据库的负载 提升性能;做缓存适合多读少写的大数据情况【如人人网大量查询用户信息、好友信息、文章信息等】
redis:适用于读写效率都很高的场景,数据处理业务复杂和安全性能要求较高的系统【如新浪微博的计数和微博发布部分系统,对数据安全性、读写要求都很高】
1.Memcached单个key-value大小有限,一个value最大只支持1MB,而Redis最大支持512MB
2.Memcached只是个内存缓存,对可靠性无要求;而Redis更倾向于内存数据库,因此对对可靠性方面要求比较高
3.从本质上讲,Memcached只是一个单一key-value内存Cache;而Redis则是一个数据结构内存数据库,支持五种数据类型,因此Redis除单纯缓存作用外,还可以处理一些简单的逻辑运算,Redis不仅可以缓存,而且还可以作为数据库用
4.新版本(3.0)的Redis是指集群分布式,也就是说集群本身均衡客户端请求,各个节点可以交流,可拓展行、可维护性更强大。