Memcached学习(一)
1.Memcached是什么?
引用维基百科上得简介,Memcached 是一套分布式的高速缓存系统,由LiveJournal的Brad Fitzpatrick开发,目前已被诸如Facebook等许多网站使用。这是一套开放源代码软件,以BSD license授权发布。常用于Web应用系统中,许多Web应用都将数据保存在RDBMS中,应用服务器从数据库中读取数据并在浏览器显示,但随着数据量的增大、访问的集中,就会出现RDBMS负担过重、数据库影响恶化、网站显示延迟等重大影响。这时候就是Memcached起作用的时候了,Memcached是高性能的分布式缓冲服务器(其实memcache自身并没有分布式功能,是通过Memcached的客户端实现),memcached使用的最主要的目的就是通过缓存数据库查询结果,减少应用服务器访问数据库的次数,提高Web应用的响应速度、提高可扩展性。
当然了,Memcached并不是只能用于Web应用,只要你的业务系统需要经常访问数据库,那也可以使用它,我之前就看过有家公司,将Memcached用作他们系统数据交换的中心枢纽即所有收到的新数据都往Memcached里扔,其他系统获取数据,都从Memcached里进行读取,当然感觉这个有点用不太合适。
2.Memcached特点:
- 协议简单
Memcached服务与各客户端间的通讯并不适用复杂的XML等格式,而使用简单的基于文本行的协议。因此通过telnet也能再Memcached上进行数据的设置、读取
- 基于libevent的事件处理(个人才疏学浅不了解)
想了解的可以Google。
- 内置内存的存储方式
为了提高性能,Memcached中所有保存的数据读是基于内存中的,因此在重启Memcached或操作系统时,Memcached中所有的数据都会丢失。另外在Memcached
所存储的内容达到设定最大值时,就会基于LRU(Least Recently Used)算法删除不适用的缓存。如果你对数据持久性有要求的话,可以考虑Redis。
- Memcached间不互相通讯
就向上文中我所提到的,虽然号称是分布式缓存服务,但其实它所谓的分布式功能是通过客户端来实现的,本身Memcached服务并不具备这个功能,因此各个Memcached
服务间是相对独立的,它们之间没有任何通讯。
3.Memcached的安装与启动
安装就不多说了,可参照Memcached提供的相关安装说明进行操作,还是比较简单的,我在Ubuntu下也就一个命令安装完毕了。
至于启动,我在Ubuntu上安装完后,已经自动启动了。正常启动命令是:memcached -p 11211 -m 64m -d,这几个参数的意思如下:
p 使用的 TCP 端口。默认为 11211
m 最大内存大小。默认为 64M
d 作为 daemon 在后台启动
还有其他更多参数,可以通过memcached -h 命令查阅。
Memcached学习(一)的更多相关文章
- memcached 学习 1—— memcached+spring配置
memcached 学习目录: memcached 学习 1—— memcached+spring配置 这几天自己搭建项目环境,解决问题如下: 有关常见的配置这里没有列出,中间遇到的搭建问题比较顺利g ...
- memcached学习笔记——存储命令源码分析下篇
上一篇回顾:<memcached学习笔记——存储命令源码分析上篇>通过分析memcached的存储命令源码的过程,了解了memcached如何解析文本命令和mencached的内存管理机制 ...
- memcached学习笔记——存储命令源码分析上篇
原创文章,转载请标明,谢谢. 上一篇分析过memcached的连接模型,了解memcached是如何高效处理客户端连接,这一篇分析memcached源码中的process_update_command ...
- Memcached 学习笔记(二)——ruby调用
Memcached 学习笔记(二)——ruby调用 上一节我们讲述了怎样安装memcached及memcached常用命令.这一节我们将通过ruby来调用memcached相关操作. 第一步,安装ru ...
- Memcached学习笔记
[TOC] 前言 此为学习笔记汇总,如有纰漏之处,还望不吝指出,谢谢. 启动流程 调用settings_init()设定初始化参数 从启动命令中读取参数来设置setting值 设定LIMIT参数 开始 ...
- 分布式缓存技术memcached学习(二)——memcached基础命令
上文<linux环境下编译memcahed>介绍了memcahed在linux环境下的安装以及登录,下面介绍memcahed的基本命令的使用. Add 功能:往内存增加一条新的缓存记录 语 ...
- 应用程序Cache对象到高性能Memcached学习之路
来源:微信公众号CodeL 以下是个人学习之路的简单分享,不足之处欢迎大神们批评指正! 在网站开发的初期,我们没有考虑更多的东西,也没有对缓存进行系统的设计,而是直接使用了应用程序缓存对象Cache, ...
- memcached学习笔记2--安装及命令
学习memcached的原理: 用户一 -> 访问浏览器 -> 服务器Apache -> PHP文件(该文件应用了memcached技术) -> [第一次]到数据库DB中查找数 ...
- 分布式缓存技术memcached学习系列(二)——memcached基础命令
上文<linux环境下编译memcahed>介绍了memcahed在linux环境下的安装以及登录,下面介绍memcahed的基本命令的使用. Add 功能:往内存增加一条新的缓存记录 语 ...
- 分布式缓存技术memcached学习(五)—— memcached java客户端的使用
Memcached的客户端简介 我们已经知道,memcached是一套分布式的缓存系统,memcached的服务端只是缓存数据的地方,并不能实现分布式,而memcached的客户端才是实现分布式的地方 ...
随机推荐
- 让table 居于页面的正中间(上下左右均居中的方法)
? <table bgcolor="#jnkc" width="300" height="200" style="posit ...
- 很近没读书了,读书笔记之<<大道至简>>
空闲时间不想虚度,不知道干啥的时候,就读读存在移动硬盘里的电子书吧,已经放了N久了,不知道什么时候放的,好像是大学刚毕业的时候下载的,...... 好久...... 现在才去读..是不是太晚了.... ...
- Codeforces Round #313 (Div. 2) B. Gerald is into Art 水题
B. Gerald is into Art Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/560 ...
- Codeforces Gym 100002 Problem F "Folding" 区间DP
Problem F "Folding" Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/ ...
- lightOJ 1030(期望)
题意:有一个迷宫是1×n的格子,一个人每到一个格子就能够把这个格子内的金子所有拿走,刚開始站在第1个格子,然后開始掷骰子得到点数x,他就要从当前位置走到加x的位置.假设发现位置是大于n的就又一次掷骰子 ...
- string和stringbuilder的解剖
String和StringBuilder的深入解析 前言:本文出发点是我们开发的过程中是否真正的理解stringbuilder的使用,string字符串操作的是如何实现(哈希表),stringbu ...
- Node.js 的Web server--Fenix
Fenix 是提供给开发者使用的简单的一个 Web server, 是基于 Node.js 开发. 能够同一时候在上面执行非常多的项目. 最适合前端开发者使用. 能够通过免费的 Node.js 控制台 ...
- Linux 内核动态函数调用可视化工具
要求: python .7以上 https://www.python.org/ftp/python/ EG:wget --no-check-certificate https://www.python ...
- Line Search and Quasi-Newton Methods
Gradient Descent 机器学习中很多模型的参数估计都要用到优化算法,梯度下降是其中最简单也用得最多的优化算法之一.梯度下降(Gradient Descent)[3]也被称之为最快梯度(St ...
- 1. Android 系统上一款开源的图表库
1. MPAndroidChart MPAndroidChart 是 Android 系统上一款开源的图表库.目前提供线图和饼图,支持选择.缩放和拖放. 一个可以拖动缩放的图表库,包含曲线图.直方图 ...