memcache和redis的区别、联系

memcacheredis的区别、联系

区别:

memcache

每个key的数据最大是1M

对各种技术支持比较全面,session可以存储memcache中,各种框架(例如thinkphp)memcache支持的比较好

比较老牌、传统的内存缓存技术

适合存储简单、实用的数据

数据类型只有String

没有持久化

redis

每个key的数据最大是1G

对各种技术支持没有memcache更好。

新兴的内存缓存技术

适合做集合计算(list/set/zset)

数据类型较丰富(String/list/Set/zset/hash

有持久化

联系:

数据存储在内存当中,数据模型都是key-value

两种内存缓存技术擅长的地方

memcache:对session支持,各种框架支持

redis:集合计算

Redis的分布式是“主从模式”结构,一主多从。
Memcache的分布式与Redis的不同,其是把一台memcache的工作平均分配给多个memcache分担。

分布式具体的实施:

1) 可以在一个服务器里边开启多个memcache服务

2) 可以配置多个服务器,每个服务器里边都运行memcache服务

每个memcache服务器都是平等的,中间通过“算法”保证数据的平均分配。

php代码的编写还保持原有习惯即可。

key的分配原则:依次轮询、求余

  1. 终端方式操作memcache

telnet协议(SecureCRT也可以操作)

  1. session存入memcache

多个服务器在真实环境中需要共享session信息,所以要存储memcache

  1. 缓存失效

1) 有效时间过期,通过懒惰模式删除

2) 空间不足,通过LRU方式强制删除最近不使用的key

        -M  参数可以禁止LRU的使用

  1. 分布式部署memcache

不同于主从模式,其为平均存储各个keymemcache中。

addServer(主机名,端口);

  1. 案例效果使用
原文地址:https://www.cnblogs.com/bingVling/p/7764915.html