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.22-stable.tar.gz -C ../
shell > cd ../libevent-2.0.22-stable/
shell > ./configure ; make ; make install

2、安装 Memcached

shell > tar zxf memcached-1.4.15.tar.gz -C ../
shell > cd ../memcached-1.4.15/
shell > ./configure --prefix=/usr/local/memcached ; make ; make install

3、启动 Memcached

shell > /usr/local/memcached/bin/memcached -d -m 512 -p 11211 -u nobody -c 4096

## -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.5: cannot open shared object file: No such file or directory

## 解决方法

shell > find / -name libevent-2.0.so.5
/usr/local/lib/libevent-2.0.so.5
shell > ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib64/
shell > /usr/local/memcached/bin/memcached -d -m 512 -p 11211 -u nobody -c 4096
shell > netstat -anpt | grep memcached
tcp 0 0 0.0.0.0:11211 0.0.0.0:* LISTEN 13465/memcached
tcp 0 0 :::11211 :::* LISTEN 13465/memcached

## 启动成功,监听所有地址,包括 ipv6 ,这样不安全,最好 -l 指定监听 IP

4、测试 Memcached

## 语法

command <key> <flags> <expiration time> <bytes>
<value>

command 包括:set add replace get delete

key               key 用于查找缓存值
flags             可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息
expiration time   在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
bytes             在缓存中存储的字节点
value             存储的值(始终位于第二行)
shell > telnet 127.0.0.1 11211    # 登陆 memcached
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ‘^]‘.
set id 0 0 5                      # 保存一个值
12345
STORED
get id                            # 取值
VALUE id 0 5
12345
END
replace id 0 0 5                  # 更新值
88888
STORED
get id                            # 查看是否更新
VALUE id 0 5
88888
END
quit                              # 退出
Connection closed by foreign host.

shell > telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ‘^]‘.
get id                            # 重新登陆还保存着
VALUE id 0 5
88888
END
quit
Connection closed by foreign host.

shell > telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is ‘^]‘.
get id
VALUE id 0 5
88888
END
delete id                          # 删除值
DELETED
get id
END
quit
Connection closed by foreign host.
时间: 2024-10-15 12:22:40

Memcache 内存对象缓存系统的相关文章

高性能的分布式内存对象缓存系统Memcached

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. 外文名 memcached 所    属 缓存系统 编写语言 不限 通信手段 memcached协议 目录 1功能 2特征 ? 协议 ? 事件处

Memcached分布式内存对象缓存系统

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. 一个用PHP编写的可视化的MemCached管理系统. MemAdmin是一款可视化的Memcached管理与监控工具,使用PHP开发,体积小,

Memcached高性能内存对象缓存系统

一.Memcached概述 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. 传统数据都保存在关系型数据库管理系统中(RDBMS关系型数据库管理系统),客户端请求时会从RDBMS中读取数据并在浏

夺命雷公狗---memcache NO:05 分布式的内存对象缓存系统的配置

要组建分布式缓存系统. (1)有多台memcache服务器 (2)分布式算法.从哪台存储的数据,就从哪台获取数据. 该算法是内置的,无需我们自己干预,内置到memcache的扩展里面的. 我们在使用多台memcache操作时,和操作一台是一样的. 建步骤: 准备至少两台memcache服务器. localhost:  11211 localhost:11210 存储方法如下所示: <?php $mem = new Memcache(); //链接分布式memcache服务器 //向连接池中添加一

Memcached 高性能分布式对象缓存系统

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态.数据库驱动网站的速度.Memcached基于一个存储键/值对的hashmap.其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信. memcached的服务器客户端通信并不使用复杂的XML等格式,而使用简单的基于文本行的协议. 因此,通过telnet也能在memcached上

高性能内存对象缓存Memcached安装及数据库操作与管理

认识Memcached Memcached是一套开源的高性能分布式内存对象缓存系统,它将所有的数据都存储在内存中,因为在内存中会统一维护一张巨大的Hash表,所以支持任意存储类型的数据.很多网站通过使用Memcached提高网站的访问速度,尤其是对于大型的需要频繁访问数据的网站.Memcached是典型的C/S架构,因此需要安装Memcached服务端与MemcachedAPI客户端.Memcached服务端是用C语言编写的,而Memcached API客户端可以用任何语言来编写,如PHP.Py

高性能内存对象缓存Memcached

高性能内存对象缓存Memcached Memcached简介 Memcached时一台开源的高性能分布式内存对象缓存系统,他将所有的数据都存储在内存中,因为在内存中会同意维护一张巨大而Hash表,所以支持任意存储类型的数据 1.学会安装Memcacahed服务 1.1安装Libevent Libevent是一款跨平台的事件处理接口的封装,可以兼容多个操作系统的事件访问.Memcached的安装依赖于Libevent,因此需要先完成Libevent的安装. 挂载源代码包 [[email prote

高性能内存对象缓存——Memcached

认识 Memcached Memcached 简介 Memcached 是一套开源的高性能分布式内存对象缓存系统,它将所有的数据都存储在内存中,因为在内存中会统一维护一张巨大的 Hash 表,所以支持任意存储类型的数据.很多网站通过使用 Memcached 提高网站的访问速度,尤其是对于大型的需要频繁访问数据的网站. Memcached 是典型的 C/S 架构,因此需要安装 Memcached 服务端与 Memcached API 客户端.Memcached 服务端是用 C 语音编写的,而 Me

在LAMP架构中安装Memcached高性能内存对象缓存应用(内含所有源码包)

初识memcached: Memcached是一套开源的高性能分布式内存对象缓存系统,它将所有的数据都存储在内存中,因为在内存中会统一维护一张巨大的hash表,所以支持任意存储类型的数据.很多网站通过使用memcached提高网站的访问速度,尤其是对于大型的需要频繁访问数据的网站. Memcached是典型的C/S结构,因此需要安装memcached服务端和memcached API客户端.Memcached服务端是用C语言编写的,而memcached API客户端可以用任何语言来编写,如PHP