redis与memcached区别

Redis与memcached区别:

Redis并不是所有数据存在内存中,这是最大的区别。

  1. memcached是多线程,非阻塞IO复用的网络模型,分为监听主线程和worker子线程,监听线程监听网络连接,接受请求后将连接描述字pipe传给worker线程进行读写IO,Redis使用单线程复用IO模型,封装了一个简单的AeEvent事件处理框架,实现了epoll,kqueue,select,但单线程模型会严重影响整体吞吐量,整个IO调度是阻塞的。
  2. memchached使用预分配内存池的方式,使用slab和chunk来管理内存,redis使用现场申请内存来存放数据,并很少使用free-list方式来优化内存分配,会产生内存碎片,会把存储命令参数和过期数据单独放在一起,称为临时数据。非临时数据永远不会被删除,故redis适合存储而不是cache
  3. memcached提供了cas命令,可以保证多个并发访问操作同一行数据一致性问题,redis没有,但是提供事务功能,可以保证命令原子性。
  4. memcached只支持key-value存储,redis还支持list,set,hash,sorted set等数据结构
  5. redis更多场景作为memcached替代者,当存储数据不能被删除时,redis更加合适。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值