面试常考内容 memcache和redis

1、什么是memcache?

2、memcache有什么特征?

3、memcahce的内存管理机制是什么样的?

4、memcache和memcached的区别

5、如何操作memcache

6、如何使用memcache做session共享?

7、什么是redis?

8、如何使用redis?

9、使用redis需要主要哪些?

10、memcache和redis常考的面试题

原文: https://www.toutiao.com/i6664337712721429000/

一、什么是memcache?

memcache是一个开源、免费、高性能的分布式对象缓存系统,它基于一个存储器/值对的hashmap来存储数据到内存中。它的作用是减少对数据库的读取以提高web应用的性能。虽然它的守护进程(daemon)是用C语言实现的,但是客户端可以用任何语言来编写,并通过memcache协议与守护进程通信。需要注意的是,当某个服务器停止运行或崩溃了,所有存放在该服务器上的键值对都将丢失。memcache的服务器端没有提供分布式功能,各个memcache应用不会互相通信以共享信息。想要实现分布式通信,可以搭建几个memcache应用,通过算法实现此效果。下面介绍memcache的两个重要概念。slab:为了防止内存碎片化,memcache服务器会预先将数据空间划分为一系列slab;举个例子,现在有一个100m3的房间,为了合理规划这个房间放置的东西,会在这个房间里放置30个1m3的盒子、20个1.25m3的盒子、15个1.5m3的盒子。。。这些盒子就是slab。

LRU:最近最少使用算法:当同一个slab的格子满了,这时需要新加一个值时,不会考虑这个新数据放到比当前slab更大的空闲slab,而是使用LRU移除旧数据,放入这个新数据。

二、memcache有什么特征?

1)协议简单。

2)基于libevent的事件处理。

3)内置内存存储方式。

4)Memcached不互相通信的分布式。

 

你可能感兴趣的:(面试)