Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!
当前位置: 主页 > Java文档 > Java基础相关 >

MemCache预研报告v2.1 PDF 下载


分享到:
时间:2020-09-24 10:39来源:http://www.java1234.com 作者:小锋  侵权举报
MemCache预研报告v2.1 PDF 下载
失效链接处理
MemCache预研报告v2.1 PDF 下载

本站整理下载:
 
相关截图:
 
主要内容:


第3章 背景介绍
Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。 
Memcache是danga的一个项目,最早是为LiveJournal服务的,最初为了加速LiveJournal访问速度而开发的,后来被很多大型的网站采用。
使用Memcache的网站一般流量都是比较大的,为了缓解数据库的压力,让Memcache作为一个缓存区域,把部分信息保存在内存中,在前端能够迅速的进行存取。那么一般的焦点就是集中在如何分担数据库压力和进行分布式,毕竟单台Memcache的内存容量的有限的。
 
Memcached是该系统的主程序文件,以守护进程方式运行于一个或多个服务器中,随时会接收客户端的连接和操作,使用共享内存存取数据。
Memcached特征:
协议简单
它是基于文本行的协议,直接通过telnet在memcached服务器上可进行存取数据操作
基于libevent事件处理
Libevent是一套利用C开发的程序库,它将BSD系统的kqueue,Linux系统的epoll等事件处理功能封装成一个接口,与传统的select相比,提高了性能。
内置的内存管理方式
所有数据都保存在内存中,存取数据比硬盘快,当内存满后,通过LRU算法(Least Recently Used,最近最少使用。LRU算法的基本概念:当分配的内存可用空间不足时,它尽可能地先保留最常用的数据,将最近没有使用的数据移出内存,释放出的空间来存储其它的数据)自动删除不使用的缓存,但没有考虑数据的容灾问题,重启服务,所有数据会丢失。
分布式
各个memcached服务器之间互不通信,各自独立存取数据,不共享任何信息。服务器并不具有分布式功能,分布式部署取决于memcache客户端。
第4章 技术预研目标
所有的数据基本上都是保存在数据库当中的,每次频繁的存取数据库,导致数据库性能急剧下降,无法同时服务更多的用户,所以让Memcache来分担数据库的压力。
操作流程如下图所示
 
1)检查客户端的请求数据是否在memcached中,如有,直接把请求数据返回,不再对数据库进行任何操作,路径操作为①②③⑦。 
2)如果请求的数据不在memcached中,就去查数据库,把从数据库中获取的数据返回给客户端,同时把数据缓存一份到memcached中(memcached客户端不负责,需要程序明确实现),路径操作为①②④⑤⑦⑥。
3)每次更新数据库的同时更新memcached中的数据,保证一致性。
4)当分配给memcached内存空间用完之后,会使用LRU(Least Recently Used,最近最少使用)策略加上到期失效策略,失效数据首先被替换,然后再替换掉最近未使用的数据。
第5章 技术预研取得的工作成果
5.1 MemCached安装
Memcached服务器端安装分Windows环境和Linux环境
5.1.1 Windows环境下的安装
5.1.1.1 安装MemCached
1)下载memcached的windows稳定版,下载地址为:http://splinedancer.com/memcached-win32/,解压放某个盘下面,比如在c:\memcached;
2)在CMD下输入c:\memcached\memcached.exe -d install安装;
3)再输入c:\memcached\memcached.exe -d start启动。
注意:以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。
5.1.1.2 常用设置
-p <num>:监听的端口,默认为11211
-l <ip_addr>:连接的IP地址,默认是本机
-d start:启动memcached服务
-d restart:重起memcached服务
-d stop|shutdown:关闭正在运行的memcached服务
-d install:安装memcached服务
-d uninstall:卸载memcached服务
-u <username>:以<username>的身份运行 (仅在以root运行的时候有效)
-m <num>:最大内存使用,单位MB,默认64MB
-M:内存耗尽时返回错误,而不是删除项
-c <num>:最大同时连接数,默认是1024
-f <factor>:块大小增长因子,默认是1.25
-n <bytes>:最小分配空间,key+value+flags默认是48
-h:显示帮助
5.1.2 Linux环境下的安装
在liunx环境下安装需要用到libevent类库,用于Socket的处理,所以还需要安装libevent(如果系统已经安装了libevent,可以不用安装)。

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐