当前位置: 首页 > 面试题库 >

请你来说一下Redis和memcached的区别

廖诚
2023-03-14
本文向大家介绍请你来说一下Redis和memcached的区别相关面试题,主要包含被问及请你来说一下Redis和memcached的区别时的应答技巧和注意事项,需要的朋友参考一下

参考回答:

1)数据类型 :redis数据类型丰富,支持set liset等类型;memcache支持简单数据类型,需要客户端自己处理复杂对象

2)持久性:redis支持数据落地持久化存储;memcache不支持数据持久存储。)

3)分布式存储:redis支持master-slave复制模式;memcache可以使用一致性hash做分布式。

4)value大小不同:memcache是一个内存缓存,key的长度小于250字符,单个item存储要小于1M,不适合虚拟机使用

5)数据一致性不同:redis使用的是单线程模型,保证了数据按顺序提交;memcache需要使用cas保证数据一致性。CAS(Check and Set)是一个确保并发一致性的机制,属于“乐观锁”范畴;原理很简单:拿版本号,操作,对比版本号,如果一致就操作,不一致就放弃任何操作

6)cpu利用:redis单线程模型只能使用一个cpu,可以开启多个redis进程

 类似资料:
  • 本文向大家介绍请你来说一下GET和POST的区别相关面试题,主要包含被问及请你来说一下GET和POST的区别时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1、概括 对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200(返回数据); 而对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200

  • 本文向大家介绍请你来说一下堆和栈的区别?相关面试题,主要包含被问及请你来说一下堆和栈的区别?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1)申请方式: 栈由系统自动分配和管理,堆由程序员手动分配和管理。 2)效率: 栈由系统分配,速度快,不会有内存碎片。 堆由程序员分配,速度较慢,可能由于操作不当产生内存碎片。 3)扩展方向 栈从高地址向低地址进行扩展,堆由低地址向高地址进行扩展。 4

  • 本文向大家介绍请你来说一下C++中struct和class的区别?相关面试题,主要包含被问及请你来说一下C++中struct和class的区别?时的应答技巧和注意事项,需要的朋友参考一下 在C++中,可以用struct和class定义类,都可以继承。区别在于:structural的默认继承权限和默认访问权限是public,而class的默认继承权限和默认访问权限是private。 另外,class

  • 本文向大家介绍请你回答一下mongodb和redis的区别相关面试题,主要包含被问及请你回答一下mongodb和redis的区别时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 内存管理机制上:Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。MongoDB 数据存在内存,由 linux系统 mmap 实现,当内存不够时,只将热点数据放入内存,其

  • 本文向大家介绍请你说明一下Map和ConcurrentHashMap的区别?相关面试题,主要包含被问及请你说明一下Map和ConcurrentHashMap的区别?时的应答技巧和注意事项,需要的朋友参考一下 考点:集合 hashmap是线程不安全的,put时在多线程情况下,会形成环从而导致死循环。CoucurrentHashMap是线程安全的,采用分段锁机制,减少锁的粒度。

  • 本文向大家介绍请你说一下MySQL引擎和区别相关面试题,主要包含被问及请你说一下MySQL引擎和区别时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 1、MySQL引擎 MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用