什么是memcache?
memcache是分布式的高速缓存系统,用于提升网站的访问速度。
memcache的原理:
先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
memcache的工作原理:
首先 memcached 是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,客户端可以由各种语言编写,目前已知的客户端 API 包括 Perl/PHP/Python/Ruby/Java/C#/C 等等。客户端在与 memcached 服务建立连接之后,接下来的事情就是存取对象了,每个被存取的对象都有一个唯一的标识符 key,存取操作均通过这个 key 进行,保存到 memcached 中的对象实际上是放置内存中的,并不是保存在 cache 文件中的,这也是为什么 memcached 能够如此高效快速的原因。注意,这些对象并不是持久的,服务停止之后,里边的数据就会丢失。
memcache应用场景:
1、分布式应用:由于memcached本身基于分布式的系统,所以尤其适合大型的分布式 系统。
2、数据库前段缓存: 数据库常常是网站系统的瓶颈。数据库的大并发量访问,常常 造成网站内存溢出。当然我们也可以使用Hibernate的缓存机 制。但memcached是基于分布式的,并可独立于网站应用本身 所以更适合大型网站进行应用的拆分。
3、服务器间数据共享:举例来讲,我们将网站的登录系统、查询系统拆分为两个应用
放在不同等等服务器上,并进行集群,那这个时候用户登录后,登录信息如何从登录系统服务器同步到查询系统服务器呢
memcache是分布式的高速缓存系统,用于提升网站的访问速度。
memcache的原理:
先检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作;如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现);每次更新数据库的同时更新memcached中的数据,保证一致性;当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
memcache的工作原理:
首先 memcached 是以守护程序方式运行于一个或多个服务器中,随时接受客户端的连接操作,客户端可以由各种语言编写,目前已知的客户端 API 包括 Perl/PHP/Python/Ruby/Java/C#/C 等等。客户端在与 memcached 服务建立连接之后,接下来的事情就是存取对象了,每个被存取的对象都有一个唯一的标识符 key,存取操作均通过这个 key 进行,保存到 memcached 中的对象实际上是放置内存中的,并不是保存在 cache 文件中的,这也是为什么 memcached 能够如此高效快速的原因。注意,这些对象并不是持久的,服务停止之后,里边的数据就会丢失。
memcache应用场景:
1、分布式应用:由于memcached本身基于分布式的系统,所以尤其适合大型的分布式 系统。
2、数据库前段缓存: 数据库常常是网站系统的瓶颈。数据库的大并发量访问,常常 造成网站内存溢出。当然我们也可以使用Hibernate的缓存机 制。但memcached是基于分布式的,并可独立于网站应用本身 所以更适合大型网站进行应用的拆分。
3、服务器间数据共享:举例来讲,我们将网站的登录系统、查询系统拆分为两个应用
放在不同等等服务器上,并进行集群,那这个时候用户登录后,登录信息如何从登录系统服务器同步到查询系统服务器呢