`

Memcached基本使用

阅读更多
memcached 是一个高效的分布式的内存对象缓存系统 ,他可以支持把各种数据(数组,对象,基本数据类型,资源除外)放入到它管理的内存中。它采用c/s结构,使用简单文本通讯并 基于libevent处理并发,将数据存入内存的缓存工具,它是基于 基于客户端的分布式,服务器端本身并不是分布式的。
win32系统下的安装步骤:
①下载memcached软件
②解压 其中有一个memcached.exe文件
③安装memcached –d install [卸载使用 memcached -d uninstall]
④启动 memcached 服务
(1)直接通过界面启动该服务
(2)在控制台下启动 memcached –d start   [命令一览表]
⑤查看memcached 服务是否启动成功! 默认端口11211 通过netstat -anb|find 11211命令可以查看
开启另一个端口,采用添加服务方法
####添加服务
sc create "memcached2 Server" binPath= "\"D:\dev_tool\memcache\memcached-1.2.1-win32\memcached.exe\" -p 11212  -m 50 -d runservice" type= "own" start= "demand" displayname= "memcached2_Server"
sc description "memcached2 Server" "memcached 1.2.3 port 11212"

------LINUX 

1.编译安装libevent

2.编译安装Memcached

在我写这篇文章的时候,libevent已经有1.4.8稳定版,Memcached Server已经有1.3.0版本。本文就以这两个版本为例,我的gcc是gcc version 3.3.4 (Debian 1:3.3.4-7)。

首先安装libevent

wget http://www.monkey.org/~provos/libevent-1.4.8-stable.tar.gz

tar zxvf libevent-1.4.8-stable.tar.gz

cd libevent-1.4.8-stable

./configure –prefix=/usr 指定安装在/usr下。一开始我没有指定安装目录导致libevent安装在/usr/local/lib,导致Memcached安装后找不到libevent库,即使手工指定路径也不行

make && make install

make clean

然后安装Memcached Server

wget http://www.danga.com/memcached/dist/memcached-1.3.0.tar.gz

tar zxvf memcached-1.3.0.tar.gz

cd memcached-1.3.0/

./configure --with-libevent=/usr 这里需要指定libevent的路径

make && make install

make clean

一眨眼功夫就都编译安装完成了。

测试下Memcached安装成功没:

/usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid

没错误提示的话,证明安装成功并且启动了Memcached服务了

/usr/local/bin/memcached -u root -d -m 100m -L -M -l 99.6.137.76 -p 11120-c 256-P /tmp/memcached.pid 
 
memcached的基本命令(安装、卸载、启动、配置相关):
-p 监听的端口 
-l 连接的IP地址, 默认是本机  
-d start 启动memcached服务 
-d restart 重起memcached服务 
-d stop|shutdown 关闭正在运行的memcached服务 
-d install 安装memcached服务 
-d uninstall 卸载memcached服务 
-u 以的身份运行 (仅在以root运行的时候有效) 
-m 最大内存使用,单位MB。默认64MB 
-M 内存耗尽时返回错误,而不是删除项 
-c 最大同时连接数,默认是1024 
-f 块大小增长因子,默认是1.25 
-l是监听的服务器IP地址,如果有多个地址的话
-n 最小分配空间,key+value+flags默认是48 
-P是设置保存Memcache的pid文件
-h 显示帮助 
 
如果要结束Memcache进程,执行: kill `cat /tmp/memcached.pid` 
memcache的运行状态可以方便的用stats命令显示。
首先用telnet 127.0.0.1 11211这样的命令连接上memcache,然后直接输入stats就可以得到当前memcache的状态
服务器STATS信息
参数 值 描述
pid 7862 memcache服务器进程ID
uptime 12617972 服务器已运行秒数
time 1320756409 服务器当前Unix时间戳
version 1.4.5 memcache版本
pointer_size 64 操作系统指针大小
rusage_user 1.731736 进程累计用户时间
rusage_system 251.421778 进程累计系统时间
curr_connections 41 当前连接数量
total_connections 848 Memcached运行以来连接总数
connection_structures 46 Memcached分配的连接结构数量
cmd_get 164377 get命令请求次数
cmd_set 58617 set命令请求次数
cmd_flush 0 flush命令请求次数
get_hits 105598 get命令命中次数
get_misses 58779 get命令未命中次数
delete_misses 0 delete命令未命中次数
delete_hits 0 delete命令命中次数
incr_misses 0 incr命令未命中次数
incr_hits 0 incr命令命中次数
decr_misses 0 decr命令未命中次数
decr_hits 0 decr命令命中次数
cas_misses 0 cas命令未命中次数
cas_hits 0 cas命令命中次数
cas_badval 0 使用擦拭次数
auth_cmds 0 认证命令处理的次数
auth_errors 0 认证失败数目
bytes_read 262113283 读取总字节数
bytes_written 460023263 发送总字节数
limit_maxbytes 536870912 分配的内存总大小(字节)
accepting_conns 1 服务器是否达到过最大连接(0/1)
listen_disabled_num 0 失效的监听数
threads 4 当前线程数
conn_yields 0 连接操作主动放弃数目
bytes 1941693 当前存储占用的字节数
curr_items 476 当前存储的数据总数
total_items 58617 启动以来存储的数据总数
evictions 0 LRU释放的对象数目
reclaimed 48830 已过期的数据条目来存储新数据的数目

服务器SETTINGS信息
参数 值 描述
maxbytes 536870912 最大字节数限制(0无限制)
maxconns 1024 允许最大连接数
tcpport 11211 TCP端口
udpport 11211 UDP端口
inter NULL IP地址
verbosity 0 日志(0=none,1=som,2=lots)
oldest 0 最老对象过期时间
evictions on 是否禁用LRU(on/off)
domain_socket NULL Socket域名
umask 700 创建Socket的掩码
growth_factor 1.25 增长因子
chunk_size 48 chunk大小(key+value+flags)
num_threads 4 线程数(默认4,可通过-t参数设置)
stat_key_prefix : stats分隔符
detail_enabled no 显示stats细节信息(yes/no)
reqs_per_event 20 最大IO吞吐量(每event)
cas_enabled yes 是否启用CAS(yes/no,-C禁用)
tcp_backlog 1024 TCP监控日志
binding_protocol auto-negotiate 绑定协议
auth_enabled_sasl no 是否启用SASL验证(yes/no)
item_size_max 1048576 数据最大尺寸

 


stats 显示服务器信息、统计数据等

stats reset 清空统计数据

stats malloc 显示内存分配数据

stats maps 这个不太确定,看源代码是把/proc/self/maps的数据显示出来。这个文件的数据貌似是动态库的映射地址?

stats cachedump slab_id limit_num 显示某个slab中的前limit_num个key列表,显示格式如下 ITEM key_name [ value_length b; expire_time|access_time s] 其中,memcached 1.2.2及以前版本显示的是 访问时间(timestamp) 1.2.4以上版本,包括1.2.4显示 过期时间(timestamp) 如果是永不过期的key,expire_time会显示为服务器启动的时间

 

stats cachedump 7 2 ITEM copy_test1 [250 b; 1207795754 s] ITEM copy_test [248 b; 1207793649 s]

stats slabs 显示各个slab的信息,包括chunk的大小、数目、使用情况等

stats items 显示各个slab中item的数目和最老item的年龄(最后一次访问距离现在的秒数)

stats detail [on|off|dump] 设置或者显示详细操作记录 参数为on,打开详细操作记录 参数为off,关闭详细操作记录 参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数) stats detail dump PREFIX copy_test2 get 1 hit 1 set 0 del 0 PREFIX copy_test1 get 1 hit 1 set 0 del 0 PREFIX cpy get 1 hit 0 set 0 del 0

 

分享到:
评论

相关推荐

    java中memcached基本使用方法

    使用memcache分布式数据系统减轻数据库的压力,使用memcache的版本的是java_memcached-release_2.5.3.jar

    Memcached使用--使用

    **Memcached 使用详解** Memcached 是一款高性能、分布式内存对象缓存系统,广泛应用于Web应用中,用于减轻数据库负载,提高网站性能。它通过在内存中存储数据,为应用程序提供快速的数据访问,避免了频繁读取...

    memcached缓存使用演示

    在开发中,我们通常会使用编程语言提供的客户端库来操作Memcached。例如,对于Python,可以使用`python-memcached`库,Java有`spymemcached`,PHP有`php-memcached`等。以下是一些基本操作: - **添加缓存**:使用`...

    计算机后端-PHP视频教程. Memcached03 memcached的基本使用.wmv

    计算机后端-PHP视频教程. Memcached03 memcached的基本使用.wmv

    java使用memcached demo

    - 序列化:默认情况下,只有基本类型和字符串可以直接存入Memcached。对于自定义对象,需要实现`Serializable`接口或使用第三方序列化库。 8. **最佳实践** - 尽量减少单个缓存项的大小,以充分利用内存。 - ...

    memcached使用说明.doc

    本文档主要涵盖了 Memcached 的基本概念、适用场景、不适用场景、安装过程以及 Java 客户端的使用示例。 **一、Memcached 概念** Memcached 是一种轻量级的、基于内存的缓存服务,适用于动态系统中的数据快速访问。...

    danga memcached使用

    **一、memcached的基本概念** 1. **分布式存储**:memcached不存储在单个服务器上,而是将数据分发到多台服务器,实现负载均衡。 2. **Key-Value存储**:memcached采用键值对(Key-Value)的方式存储数据,便于快速...

    Memcached java的使用实例

    以上就是Memcached在Java环境中的基本使用方法。为了实现更高效、安全的缓存策略,你可以进一步研究Memcached的特性,如CAS(Compare and Swap)操作、持久化、分布式哈希等。同时,了解如何在大型分布式系统中优化...

    java使用Memcached简单教程

    ### Java使用Memcached简单教程 #### 一、简介 Memcached是一个高性能的分布式内存对象缓存系统,通过减轻数据库负载来加速动态Web应用,提高网站的浏览速度。它通过在内存中缓存数据和对象来减少读取数据库的次数...

    Net Memcached安装及使用说明

    - 使用`memcached -h`命令查看帮助信息,了解安装选项。 - 运行`memcached -d install`命令进行服务安装。 - 安装完成后,通过`memcached -d start`命令启动Memcached服务。 3. **配置服务**: - 进入注册表...

    计算机后端-PHP视频教程. Memcached04 memcached基本命令.wmv

    计算机后端-PHP视频教程. Memcached04 memcached基本命令.wmv

    memcached安装及java应用使用memcached

    “memcached安装及java应用使用memcached”这一标题暗示了我们要讨论的是一个关于分布式内存缓存系统——memcached的安装过程以及如何在Java应用程序中使用它。Memcached是一个高性能、轻量级的分布式内存对象缓存...

    memcached windows稳定版

    memcached的基本设置: -p 监听的端口 -l 连接的IP地址, 默认是本机 -d start 启动memcached服务 -d restart 重起memcached服务 -d stop|shutdown 关闭正在运行的memcached服务 -d install 安装memcached服务...

    memcached使用最佳实践(英文版)

    除了基本的数据存储和检索命令外,Memcached还提供了一系列其他命令,如flush_all(清空所有缓存数据)、stats(获取服务器状态信息)、version(获取服务器版本信息)等。 ### 二、使用Memcached客户端库 #### ...

    memcached实例

    **Memcached 实例详解** ...通过以上的实例和讲解,你应该已经掌握了 Memcached 的基本使用,包括安装、客户端连接、数据缓存和清除。在实际应用中,合理利用 Memcached 可以显著提升系统的性能和响应速度。

    Memcached Client 使用手册

    ### Memcached Client 使用手册 #### Cache Client 接口定义与功能概述 - **ICache**:作为缓存的基础接口,提供了缓存的基本操作方法。这些方法涵盖了缓存数据的存储、检索、删除等功能,旨在为应用程序提供高效...

Global site tag (gtag.js) - Google Analytics