发表于: 2017-02-13 23:27:50
1 1915
今天完成的事情:
下载、安装、学习、使用memcache
明天计划的事情:
学习Maven Web项目中配置Memcache
遇到的问题:
1、telnet不能用的问题
2、在window下进入memcache.exe目录下运行命令:memcached.exe -d RunService -l 127.0.0.1 -p 11211 -m 128
telnet连接时碰到一个问题,在命令行执行telnet 127.0.0.1 11211之后进入telnet 127.0.0.1界面:
在这个界面只有一个光标一闪一闪,输入内容不显示,刚开始我以为这里出错了,又来回折腾了很长时间,都是到这个界面卡住,一度我以为我的memcache没有安装成功,后来明白了,这仅仅是不显示输入内容,命令还是有效的,我输入stats命令正常输出结果:
3、之后可以显示命令了,但是还是很奇怪,输入后按Backspace是可以退格的,但是显示内容没有消失,只有再次输入原本显示的字符才改成正确的字符,并且报错CLIENT_ERROR bad command line format,这是说客户端语法错误,但是语法并没有错。
总之,命令行很奇怪
我感觉安装的memcache版本有问题,我的php版本比较高,7.0.6的版本,网上查到的高版本的php安装memcache和低版本的不一样,而我是按低版本安装的,这个问题明天要解决
收获:
1、压测自己的JSP
测试页面:http://localhost:8080/index.html,
准备时长:10
循环次数:10
线程数每次增加
测试结果:
当增加到Throughput应该是100/sec时,错误率68.20%
经测试线程数改为700时,出现卡顿,但并没有错误率,
2、 安装Memcache
在网上搜了挺长时间,安装Memcache需要php环境,后来想起来我的电脑是有php环境的
Memcache下载的绿色版本,地址:http://www.jb51.net/softs/205839.html
安装方法里面有详细说明,安装完成后测试,网上都是要编写一段php代码,搞半天也不知道怎么访问这段代码,因为安装过程中把memcache设置成了服务启动,最后没办法只能查看服务,看到了memcached服务,
3、Memcached相关知识
一句话概括,Memcached 是一个开源、高性能、分布式内存对象缓存系统。
Memcache和Memcached到底有什么区别
Memcached 是一个开源、高性能、分布式内存对象缓存系统
Memcache 是这个项目的名称,而 memcached 是它服务器端的主程序文件名
Memcached 运行原理
看这张图很直观
一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web 应用的速度、提高可扩展性
内置内存存储方式
为了提高性能,memcached 中保存的数据都存储在memcached 内置的内存存储空间中。由于数据仅存在于内存中,因此重启memcached、重启操作系统会导致全部数据消失。另外,内容容量达到指定值之后,就基于LRU(Least Recently Used)算法自动删除不使用的缓存。memcached 本身是为缓存而设计的服务器,因此并没有过多考虑数据的永久性问题
memcached 不互相通信的分布式
memcached 尽管是“分布式”缓存服务器,但服务器端并没有分布式功能。各个memcached 不会互相通信以共享信息。那么,怎样进行分布式呢?这完全取决于客户端的实现。
评论