memcache 学习笔记

在网上找了一份比较好的日本人写的memcache教程,花一下午的时间熟悉了一下,记录一下,以后也许会有用。


memcached 是指高性能的分布式缓存服务器,通过缓存数据,减少数据库的访问字数,提高相应速度。

它的几个特点:

1.协议简单

2.基于libevent事件处理

3.内置内存存储方式

4.memcached不相互通信


linux 下memcache安装

安装memcached需要先安装libevent,启动memcached 的方式
 bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
-d 创建守护进程 
-m 占用内存大小(m) 
-u 用户 
-l 连接ip
-p 端口号
-c 最大连接数
-P pid创建位置
-vv 用very verbose 模式启动,调试信息和错误直接输出到控制台

客户端支持用perl,php,python,c++等多种方式进行连接
可直接telnet ip地址 端口号进行连接
set foo 0 0 3
bar
即可保存key值为 foo, value 为bar 的键值对

查看php memcached 提供的访问接口,直接通过getMulti 检索多个元素
http://jp1.php.net/manual/zh/book.memcached.php

memcached 内存存储
数据保存在内存中,重启即会消失,内存满后将会基于LRU(最近最少使用)算法进行删除, (-M 禁止使用LRU,满后则出错)

slab allocation机制 
按照预先规定的大小,将分配的内存分割为特定长度的块(chunk)
将会根据收到的数据大小,选择适合的slab (特定大小的chunk组)
缺点:无法有效的利用空间

grown factor 调优
在启动时制定参数 -f 2  (default 值为 1.25), 设置不同chunk之间的差异大小

查看memcached 的内部状态 stats

memcached 的删除机制
lazy expiration(惰性) 在get时查看时间戳,检查是否过期 


memcached的分布式算法
1. 根据余数计算分散 
求key的CRC值,除以memcached机器台数进行分配。缺点:添加或者移除机器时,缓存重组代价较大

2.consistent hashing
求memcached的服务器以及key的hash值,映射到圆上,以抑制key的重新分配 (php库中的libketama已经实现该算法)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Memcache是一个快速、高效的分布式内存对象缓存系统,常用于提高网站性能和减轻数据库负载。要安装Memcache,需要进行以下步骤: 1. 下载安装包:首先需要下载Memcache的安装包。可以在官方网站上找到最新的稳定版本,并选择与操作系统和服务器兼容的安装包。 2. 解压安装包:下载完成后,将安装包解压到任意目录。解压后的文件夹中应该包含了安装所需的文件和脚本。 3. 安装依赖库:在安装Memcache之前,需要确保系统中已经安装了相应的依赖库。常见的依赖库有libevent和libevent-devel,可以通过包管理器安装,如yum或apt-get。 4. 编译和安装:进入解压后的Memcache文件夹,在命令行中执行编译和安装命令。通常是执行./configure,然后执行make和make install命令。这些命令会编译和安装Memcache到系统中。 5. 配置和启动:安装完成后,需要进行一些配置和启动操作。可以编辑配置文件,设置Memcache的监听地址、端口号和缓存大小等参数。然后,启动Memcache服务,可以通过执行memcached命令或使用脚本启动。 6. 测试和验证:安装完成并启动Memcache后,可以进行一些简单的测试和验证工作。可以使用telnet或memcached客户端工具连接到Memcache服务器,并进行一些数据操作,如set、get等。 总结: Memcache的安装包实际上是一个压缩文件,包含了安装所需的文件和脚本。安装Memcache之前,需要确保系统已经安装了相应的依赖库。安装过程包括解压安装包、安装依赖库、编译和安装、配置和启动、测试和验证等步骤。安装完成后,可以使用telnet或memcached客户端工具连接到Memcache服务器,并进行数据操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值