Memcache 内存对象缓存系统
简介:
Memcached 是一个高性能的分布式内存存储对象缓存系统,用于动态 WEB 应用以减轻数据库负载。
它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。
Memcached 基于一个存储键/值对的 hashmap 。
其守护进程是用 C 写的,但是客户端可以用任何语言来编写,并通过 Memcached 协议与守护进程通信,且它不提供冗余; 当某个服务器停止运行或崩溃了,所有放在该服务器上的键/值对都将丢失。
下载地址:
http://jaist.dl.sourceforge.net/project/levent/libevent/libevent-2.0/libevent-2.0.22-stable.tar.gz
https://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
1、安装 libevent 库
## 这是一个 memcached 所依赖的异步事件通知库
shell > tar zxf libevent-2.0.-stable.tar.gz -C ../
shell > cd ../libevent-2.0.-stable/
shell > ./configure ; make ; make install
2、安装 Memcached
shell > tar zxf memcached-1.4..tar.gz -C ../
shell > cd ../memcached-1.4./
shell > ./configure --prefix=/usr/local/memcached ; make ; make install
3、启动 Memcached
shell > /usr/local/memcached/bin/memcached -d -m -p -u nobody -c
## -l 监听地址,memcache 无身份验证功能,严禁在无防护情况下使用
## -d 以守护进程的形式运行
## -m 指定分配内存大小,单位 m
## -p 监听端口
## -u 运行用户
## -c 最大并发连接数
## -P PID 文件存放位置
## -f 增长因子
## 启动报错
/usr/local/memcached/bin/memcached:
error while loading shared libraries: libevent-2.0.so.: cannot open shared object file: No such file or directory
## 解决方法
shell > find / -name libevent-2.0.so.
/usr/local/lib/libevent-2.0.so.5
shell > ln -s /usr/local/lib/libevent-2.0.so. /usr/lib64/
shell > /usr/local/memcached/bin/memcached -d -m -p -u nobody -c
shell > netstat -anpt | grep memcached
tcp 0.0.0.0: 0.0.0.0:* LISTEN /memcached
tcp ::: :::* LISTEN /memcached
## 启动成功,监听所有地址,包括 ipv6 ,这样不安全,最好 -l 指定监听 IP
4、测试 Memcached
## 语法
command <key> <flags> <expiration time> <bytes>
<value> command 包括:set add replace get delete key key 用于查找缓存值
flags 可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息
expiration time 在缓存中保存键值对的时间长度(以秒为单位, 表示永远)
bytes 在缓存中存储的字节点
value 存储的值(始终位于第二行)
shell > telnet 127.0.0.1 # 登陆 memcached
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set id # 保存一个值 STORED
get id # 取值
VALUE id END
replace id # 更新值 STORED
get id # 查看是否更新
VALUE id END
quit # 退出
Connection closed by foreign host. shell > telnet 127.0.0.1
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
get id # 重新登陆还保存着
VALUE id END
quit
Connection closed by foreign host. shell > telnet 127.0.0.1
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
get id
VALUE id END
delete id # 删除值
DELETED
get id
END
quit
Connection closed by foreign host.
Memcache 内存对象缓存系统的更多相关文章
- MemCache分布式内存对象缓存系统
MemCache超详细解读 MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而 ...
- 分布式内存对象缓存系统Memcached-概述
全面掌握Memcached 1. 概述 Memcached是danga.com(运营LiveJournal的技术团队)开发的一套分布式内存对象缓存系统,是为了加快网站http://www. ...
- Python并发编程-Memcached (分布式内存对象缓存系统)
一.Memcached Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的 ...
- 高性能的分布式内存对象缓存系统Memcached
Memcached概述 什么是Memcached? 先看看下面几个概念: Memory:内存存储,不言而喻,速度快,对于内存的要求高,不指出的话所缓存的内容非持久化.对于CPU要求很低,所以常常采 ...
- 分布式内存对象缓存系统Memcached-Linux下使用
Linux下Memcached的使用 1. 安装文件下载 1.1下载memcached服务器端安装文件 版本: memcached-1.4.2.tar.gz 下载地址:http://www ...
- 分布式内存对象缓存 memcached
分布式内存对象缓存 许多Web 应用程序都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示.但随着数据量的增大,访问的集中,就会出现REBMS的负担加重,数据库响应恶化,网站显示延迟等 ...
- 基于Memcache的分布式缓存系统详解
文章不是简单的的Ctrl C与V,而是一个字一个标点符号慢慢写出来的.我认为这才是是对读者的负责,本教程由技术爱好者成笑笑(博客:http://www.chengxiaoxiao.com/)写作完成. ...
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
mongodb和memcached不是一个范畴内的东西.mongodb是文档型的非关系型数据库,其优势在于查询功能比较强大,能存储海量数据.mongodb和memcached不存在谁替换谁的问题. 和 ...
- 云计算openstack共享组件(2)——Memcache 缓存系统
一.缓存系统 在大型海量并发访问网站及openstack等集群中,对于关系型数据库,尤其是大型关系型数据库,如果对其进行每秒上万次的并发访问,并且每次访问都在一个有上亿条记录的数据表中查询某条记录时, ...
随机推荐
- BZOJ1220 HNOI2002 跳蚤 【容斥原理+高精度】*
BZOJ1220 HNOI2002 跳蚤 Description Z城市居住着很多只跳蚤.在Z城市周六生活频道有一个娱乐节目.一只跳蚤将被请上一个高空钢丝的正中央.钢丝很长,可以看作是无限长.节目主持 ...
- python笔记-12 redis缓存
一.redis引入 1.简要概括redis 1.1 redis默认端口:6379 1.2 redis实现的效果:资源共享 1.3 redis实现的基本原理:不同的进程和一个公共的进程之间建立socke ...
- SpringMVC传递数据的流线图
流程含义解释:(1)HTTP请求到达web服务器,web服务器将其封装成一个httpServletRequest对象(2)springMVC框架截获这个httpServletRequest对象(3)s ...
- redis在mac中的安装和启动
http://blog.csdn.net/chenshuai1993/article/details/51519384 http://www.jianshu.com/p/6b5eca8d908b
- luarocks 安装
1. linux 安装 wget https://luarocks.org/releases/luarocks-2.4.1.tar.gz tar zxpf luarocks-2.4.1.tar.gz ...
- ThinkPHP 分页功能梳理
最近在开发一个项目,使用了国内流行的ThinkPHP框架,我之前没怎么用过这个框架,也是临时抱佛脚,用的不怎么样?可能理解不是很深刻,如果有说的不对或不正确的地方,请大家多包涵,多指教. ThinkP ...
- Cmake编译opencv下载不了ffmpeg时的解决办法
- linux命令ls -l的默认排序方式
差不多快实现完了ls -l,但是在测试阶段发现一个问题,对于包含[a-ZA-Z]之外的字符,系统的排序方式并不一样. 很想了会儿,总算发现原来它的排序方式是无视[a-ZA-Z]之外的字符的 至于怎么发 ...
- php的闭包
闭包是指在创建时封装周围状态的函数,即使闭包所在的环境的不存在了,闭包中封装的状态依然存在. 匿名函数其实就是没有名称的函数,匿名函数可以赋值给变量,还能像其他任何PHP函数对象那样传递.不过匿名函数 ...
- Android内存泄露总结
内存泄露是如何产生的? 当一个对象已经不需要再使用了,本该被回收时,而有另外一个正在使用的对象持有它的引用从而导致它不能被回收,这导致本该被回收的对象不能被回收而停留在堆内存中,这就产生了内存泄漏. ...