memcached命令

redis面试总结(一)

别说谁变了你拦得住时间么 提交于 2019-11-28 13:08:17
1.项目中缓存是如何使用的?为什么要用缓存?缓存使用不当会造成什么后果? 面试题剖析 为什么要用缓存? 用缓存,主要有两个用途: 高性能 、 高并发 。 高性能 假设这么个场景,你有个操作,一个请求过来,吭哧吭哧你各种乱七八糟操作 mysql,半天查出来一个结果,耗时 600ms。但是这个结果可能接下来几个小时都不会变了,或者变了也可以不用立即反馈给用户。那么此时咋办? 缓存啊,折腾 600ms 查出来的结果,扔缓存里,一个 key 对应一个 value,下次再有人查,别走 mysql 折腾 600ms 了,直接从缓存里,通过一个 key 查出来一个 value,2ms 搞定。性能提升 300 倍。 就是说对于一些需要复杂操作耗时查出来的结果,且确定后面不怎么变化,但是有很多读请求,那么直接将查询出来的结果放在缓存中,后面直接读缓存就好。 高并发 mysql 这么重的数据库,压根儿设计不是让你玩儿高并发的,虽然也可以玩儿,但是天然支持不好。mysql 单机支撑到 2000QPS 也开始容易报警了。 所以要是你有个系统,高峰期一秒钟过来的请求有 1万,那一个 mysql 单机绝对会死掉。你这个时候就只能上缓存,把很多数据放缓存,别放 mysql。缓存功能简单,说白了就是 key-value 式操作,单机支撑的并发量轻松一秒几万十几万,支撑高并发 so easy。单机承载并发量是

搭建Nginx + Memcached + Tomcat 集群记录

拥有回忆 提交于 2019-11-28 12:03:02
零:前言 1、单是从软件层面做负载,只能单主 nginx服务器, 主 服务器挂了,系统就挂了 2、实现多台 主 nginx服务器, 可采用DNS负载均衡,即同一个域名绑定多个IP( nginx服务器 ),按顺序分发 3、 实现多台 主 nginx服务器 ,可采用 负载均衡硬件设备,分发到 多个IP( nginx服务器 ) 4、综合上述三点 Session 实现共享的方法分为多种 对于WEB应用集群的技术实现而言,最大的难点就是如何能在集群中的多个节点之间保持数据的一致性,会话(Session)信息是这些数据中最重要的一块。要实现这一点,大体上有两种方式, 一种是把所有Session数据放到一台服务器上或者数据库中,集群中的所有节点通过访问这台Session服务器来获取数据; 另一种就是在集群中的所有节点间进行Session数据的同步拷贝,任何一个节点均保存了所有的Session数据。 Tomcat集群session同步方案有以下几种方式: 使用tomcat自带的cluster方式,多个tomcat间自动实时复制session信息,配置起来很简单。但这个方案的效率比较低,在大并发下表现并不好。原理:http://zyycaesar.iteye.com/blog/296606 利用nginx的基于访问ip的hash路由策略,保证访问的ip始终被路由到同一个tomcat上,这个配置更简单

Redis常见面试题

房东的猫 提交于 2019-11-28 04:56:52
1、什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能,比方说用他的List来做FIFO双向链表,实现一个轻量级的高性 能消息队列服务,用他的Set可以做高性能的tag系统等等。另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的memcached来用。 Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。 2、Redis相比memcached有哪些优势? (1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型 (2) redis的速度比memcached快很多 (3) redis可以持久化其数据 3、Redis支持哪几种数据类型?

memcache 安装

五迷三道 提交于 2019-11-28 02:33:21
在Windows下安装 1. 先下载memcached for win64 下载地址:http://www.2cto.com/uploadfile/2012/0713/20120713110308123.zip 2. 下载后解压,比如解压到D盘的memcached文件夹中 3. 打开 开始-->运行-->cmd 调出命令窗口,使用命令进入到memcached的解压目录 4. 安装memcached:输入 D:\memcached\memcached.exe -d install 5. 启动memcached的服务:输入 D:\memcached\memcached.exe -d start 启动服务,这样memcached就成为windows服务了 6. 如果需要关闭memcached的服务,则输入 D:\memcached\memcached.exe -d stop|shutdown 进行关闭 7. 设置memcached,启动该服务后,memcached服务默认占用的端口是11211,占用的最大内存默认是64M。 如果需要修改这两个参数,比如修改端口为10000,内存为512,请看 引申阅读 第二点。 引申阅读 http://www.ibm.com/developerworks/cn/java/j-memcached1/ Windows下MemCache多端口安装配置 转载于

[收藏]Memcached 集群架构方面的问题

纵饮孤独 提交于 2019-11-27 11:21:20
这里收集了经常被问到的关于memcached的问题 memcached是怎么工作的? memcached最大的优势是什么? memcached和MySQL的query cache相比,有什么优缺点? memcached和服务器的local cache(比如PHP的APC、mmap文件等)相比,有什么优缺点? memcached的cache机制是怎样的? memcached如何实现冗余机制? memcached如何处理容错的? 如何将memcached中item批量导入导出? 但是我确实需要把memcached中的item都dump出来,确实需要把数据load到memcached中,怎么办? memcached是如何做身份验证的? 如何使用memcached的多线程是什么?如何使用它们? memcached能接受的key的最大长度是多少?(250bytes) memcached对item的过期时间有什么限制?(为什么有30天的限制?) memcached最大能存储多大的单个item?(1M byte) 为什么单个item的大小被限制在1M byte之内? 为了让memcached更有效地使用服务器的内存,可以在各个服务器上配置大小不等的缓存空间吗? 什么是binary协议?它值得关注吗? memcached是如何分配内存的?为什么不用malloc/free!?究竟为什么使用slab呢

Nginx+memcached+tomcat7+session

眉间皱痕 提交于 2019-11-27 08:02:16
Nginx+memcached+tomcat7+session 前言 最近在学习 nginx+tomcat 配置,随着不断深入,很快就遇到瓶颈, tomcat 集群之后 session 就不能共享,话说这个也不难,但是之前没有做过这方面的配置, 随后在就网上查资料,主要配置 session 共享有两种 1 : memcached (今天讲得重点) 2 : ngx_upstream_jvm_route 第二种偶试过 可是再安装时,编译老报错,对 C 语言的不了解, 无奈之下只好放弃。 今天重点讲 nginx+memcached+tomcat7+session 配置 有关这个资料网上已经翻天了,但是偶在配置总是出错,之前可能是自己没有理解,后来清楚之后,主要问题在 jar 上。 由于官方说的不是很清楚,导致折腾了很久,最终还是成功了。欣喜万分,特来跟大家分享下,说的不好的地方,还希望大家多多指教! 1. 安装 首先下载必须得软件 如图 这里主要讲 memcached 先下载libevent-1.4.14b-stable.tar.gz和memcached-1.4.7.tar.gz的源码包,前者是后者的依赖包,就是一个事件驱动的包。 2 )编译安装命令: 1. tar zxvf libevent-1.4.14b-stable.tar.gz 2. cd libevent-1.4.14b

Redis的那些最常见面试问题

不想你离开。 提交于 2019-11-26 23:45:43
  1.什么是redis?    Redis 是一个基于内存的高性能key-value数据库。    2.Reids的特点      Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性      能最快的Key-Value DB。    Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能,比方说用他的List来做FIFO双向链表,实现一个轻量级的高性 能消      息队列服务,用他的Set可以做高性能的tag系统等等。另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的memcached来用。    Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。    3.使用redis有哪些好处?    (1) 速度快,因为数据存在内存中,类似于HashMap

四、瞬时响应:网站的高性能架构

99封情书 提交于 2019-11-26 21:00:03
4 .1 网站性能测试 4.2 Web前端性能优化 4.3 应用服务器性能优化 4.4 存储性能优化 4.1 网站性能测试   性能测试是性能优化的前提和基础,也是性能优化结果的检查和度量标准。不同视角下的网站性能有不同的标准,也有不同的优化手段。 4.1.1 不同视角下的网站性能   1.用户视角   从用户视角,网站性能就是用户在浏览器上直观感受到的网站响应速度快还是慢。   用户感受到的时间,包括用户计算机和网站服务器通信的时间、网站服务器处理的时间、用户计算机浏览器构造请求解析响应数据的时间。   不同计算机的性能差异,不同浏览器解析HTML速度的差异,不同网络运营商提供的互联网贷款服务的差异,这些差异最终导致用户感受到的响应延迟可能会远远大于网站服务器处理请求需要的时间。   实践中,使用一些前端架构优化手段,通过优化页面 HTML 、利用浏览器端的并发和异步特性、调整浏览器缓存策略、使用CDN服务、反向代理等手段,使浏览器尽快地显示用户感兴趣的内容、尽可能近地获取页面内容,即使不优化应用程序和架构也可以很大程度地改善用户视角下地网站性能。   2.开发人员视角的网站性能   开发人员关注的主要是应用程序本身及其相关子系统的性能,包括响应延迟、系统吞吐量、并发处理能力、系统稳定性等技术指标。主要的优化手段有使用缓存加速数据读取,使用集群提高吞吐能力

Memcached, Redis, MongoDB区别

巧了我就是萌 提交于 2019-11-26 11:01:10
mongodb和memcached不是一个范畴内的东西。mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据。mongodb和memcached不存在谁替换谁的问题。 和memcached更为接近的是redis。它们都是内存型数据库,数据保存在内存中,通过tcp直接存取,优势是速度快,并发高,缺点是数据类型有限,查询功能不强,一般用作缓存。在我们团队的项目中,一开始用的是memcached,后来用redis替代。 相比memcached: 1、redis具有持久化机制,可以定期将内存中的数据持久化到硬盘上。 2、redis具备binlog功能,可以将所有操作写入日志,当redis出现故障,可依照binlog进行数据恢复。 3、redis支持virtual memory,可以限定内存使用大小,当数据超过阈值,则通过类似LRU的算法把内存中的最不常用数据保存到硬盘的页面文件中。 4、redis原生支持的数据类型更多,使用的想象空间更大。 5、前面有位朋友所提及的一致性哈希,用在redis的sharding中,一般是在负载非常高需要水平扩展时使用。我们还没有用到这方面的功能,一般的项目,单机足够支撑并发了。redis 3.0将推出cluster,功能更加强大。 6、redis更多优点,请移步官方网站查询。 7. 性能

Redis面试题汇总

烂漫一生 提交于 2019-11-26 01:43:20
1、什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能,比方说用他的List来做FIFO双向链表,实现一个轻量级的高性 能消息队列服务,用他的Set可以做高性能的tag系统等等。另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的memcached来用。 Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。 2、Redis相比memcached有哪些优势? (1) memcached所有的值均是简单的字符串,redis作为其替代者, 支持更为丰富的数据类型 (2) redis的速度比memcached快很多 (3) redis可以持久化其数据 3、Redis支持哪几种数据类型