用了一段时间memcache,没有认真的看过,了解下顺便做下笔记。
1. memcached
memcached是danga的一个项目,是一种高性能分布式缓存技术,将数据缓存到内存中,来提高访问速度。(目的:提速)
注:当内存一旦关闭,数据就会丢失;推荐存储一些频繁变化(比如统计在线人数)、检索(热点数据)且数据丢失也没影响。
memcached维护了一张大的hashmap内存表,以key-value形式存储,可以存放的类型(字符串、数值、boolean、对象、二进制、数组)
memcached是线程安全的。
libevent是一套跨平台的事件处理接口的封装
memcached使用libevent来进行网络并发连接的处理,能够保持在很大的并发情况下,仍旧能够保持快速的响应能力。
memcached在内容容量达到指定值得情况下使用LRU算法自动删除不使用的缓存。
应该每一次存储会记录时间戳,当容量到达瓶颈时找到时间最久的进行替换。
memcached是分布式缓存服务器,但服务器没有分布式功能,各个memcached不会互相通信以共享信息,所以这完全取决于客户端的实现。
2. 下载(略过)
3. 安装启动
以window为例,管理员身份打开控制台
几种方式
1.
1.1. 将memcached加入到后台进程中,打开命令控制台,进入到memcached根目录,输入 memcached.exe -d install 执行安装(卸载:memcached.exe -d uninstall)
1.2. 启动net start memcached(停止 net stop memcached) 或者 memcached.exe -d start (停止memcached.exe -d stop)
2. 直接双击打开memcached.exe文件
3. 控制台命令memcahed.exe -p 11211 (11211为memcached默认端口,端口可以自行修改)
其他dot命令自行百度,比如查看端口是否被占用等。。。
4. memcached基本命令
使用telnet测试
telnet是tcp/ip中一份子,是internet登录远程服务的标准协议和主要方式。
命令行:telnet ip 端口
如果提示未找到telnet 是由于未开启,可到《添加或删除程序中将其开启》如图:
memcached命令
格式:
<command name> <key> <flags> <exptime> <bytes><data block> |
<command name> | set/add/replace/delete...... |
<key> | key值,唯一 |
<flags> | 客户端使用它存储关于键值对的额外信息 |
<exptime> | 数据存活时间,0代表永久 |
<bytes> | 数据字节数 |
<data block> | 存储数据块,长度需要等于<bytes> |
add : 创建一个键值对存储
set:如果key不存在则创建,存在则覆盖。
replace:要求key必须存在,否则提示no_stored
delete:如果key存在提示deleted如果不存在提示no_found
语法:delete key
append:在原有的key值后面增加数据
语法:append key 0 0 2
prepend:在key原有的数据前面增加
同上
flush_all:立即使所有存在的元素失,它并不会立即删除所有资源,只是标记,因此已经使用的内存会被新的数据复写。stats:查看当前memcached的一些基本状态,比如版本,启动时间,命中率,连接数,命令执行次数等等
值得关注的是:通常我们可以根据命中率来判断当前内存中缓存的数据是否合理,如果命中率偏低,那么代表有很多数据存到内存中并没有使用,且无意义的占用了内存,可以据此优化memcached存储。
Pid: Memcached 服务器中的进程编号
Uptime:Memcached服务器启动之后所经历的时间,单位秒
Time: 当前系统时间,单位秒
Version: Memcached 的版本号
pointer_size:服务器所在主机操作系统的指针大小,一般为32或64
curr_items:表示当前缓存中存放的所有缓存对象的数量
total_items:表示从memcached服务启动到当前时间,系统存储过的所有对象的数量,包括已经删除的对象
bytes:表示系统存储缓存对象所使用的存储空间,单位为字节
curr_connections:表示当前系统打开的连接数
total_connections:表示从memcached服务启动到当前时间,系统打开过的连接的总数
cmd_get: 查询缓存的次数,即使不成功也算一次
cmd_set: 保存数据的次数,当然这里只保存成功的次数
get_hits:表示获取数据成功的次数。
get_misses:表示获取数据失败的次数。
evictions:为了给新的数据项目释放空间,从缓存移除的缓存对象的数目。比如超过缓存大小时根据LRU算法移除的对象,以及过期的对象
bytes_read:memcached服务器从网络读取的总的字节数
bytes_written:memcached服务器发送到网络的总的字节数
limit_maxbytes:memcached服务缓存允许使用的最大字节数
threads:被请求的工作线程的总数量
缓存命中率 = get_hits / cmd_get * 100% ;
相关推荐
计算机后端-PHP视频教程. Memcached04 memcached基本命令.wmv
根据给定文件提供的信息,我们将详细介绍memcached的基本命令及其参数的意义。 1. **-l**:指定memcached监听的IP地址,默认为本机所有IP地址。 - 示例:`-l 127.0.0.1` 表示只监听本机的127.0.0.1地址。 2. **-p...
**Memcached基本使用** Memcached是一款高性能、分布式内存对象缓存系统,用于减轻数据库负载,提升Web应用性能。它的工作原理是将数据存储在内存中,以便快速访问,避免频繁读取硬盘上的数据库。在本篇文章中,...
本文将深入解析memcached的基本命令,涵盖其安装、配置、启动及数据管理等方面,旨在为用户提供全面的操作指南。 ### 安装与配置命令 #### 启动与停止 - `-d start`:启动memcached服务。 - `-d restart`:重启...
标题中的“memcached几个命令”指的是在使用memcached这一分布式内存对象缓存系统时,经常用到的一些核心命令。memcached被广泛应用于大型网站设计,尤其是对于PHP程序员来说,掌握这些命令是至关重要的。 首先,...
**Memcached介绍** Memcached是一种高性能、分布式的内存对象缓存系统,用于在数据库和应用程序之间缓存数据,以减少对数据库的访问压力,提高应用的响应速度。它最初由Danga Interactive公司开发,现在已经成为...
### Net Memcached安装及使用说明 #### 一、概述 Net Memcached是一种高效的分布式缓存系统,主要用于硬盘缓存服务,能够充分利用硬盘空间来存储缓存信息,从而直接提升访问速度,同时不会占用过多的内存资源。这...
Memcached是一种高性能的分布式内存...总之,熟练掌握Memcached的这些基本命令,可以帮助开发者更高效地管理和操作缓存数据,提升应用程序的性能。在实际使用中,根据具体需求选择合适的命令和策略,是优化系统的关键。
在终端(也即cmd命令界面)下输入 ‘c:\memcached\memcached.exe -d install’ 安装 3. 再输入: ‘c:\memcached\memcached.exe -d start’ 启动。NOTE: 以后memcached将作为windows的一个服务每次开机时自动启动...
本篇学习笔记将重点介绍如何在Java环境中使用gwhalin提供的Memcached客户端进行开发。gwhalin的Memcached Java客户端是一个轻量级、高性能的库,使得Java开发者可以轻松地与Memcached服务器进行交互。 ### 一、...
`stats` 命令可以用来查看Memcached的整体统计信息,包括版本号、当前时间戳、启动时间、连接数、命令执行次数等。具体命令如下: ```sh stats ``` 示例输出: ``` STAT pid 27835 STAT uptime 297 STAT time ...
本文将介绍如何使用 Telnet 命令来查看 Memcached 的运行状态。 一、Telnet 命令 Telnet 是一个基本的网络协议,用于远程登录和查看服务器的状态。我们可以使用 Telnet 命令来连接 Memcached 服务器,并查看其运行...
**一、Memcached基本概念** 1. **缓存**: 缓存是一种存储技术,用于临时存储频繁访问的数据,减少对后端慢速存储(如数据库)的访问,提高系统性能。 2. **分布式**: Memcached支持在多台服务器上部署,可以将数据...
5. **验证运行**:你可以使用`netstat -tulnp | grep memcached`命令检查memcached是否正常运行,并监听在指定端口。 **Java与memcached的交互**: 为了在Java应用中使用memcached,你需要一个Java客户端库。在提供...
Memcached 的其他命令包括 stats、flush_all 和 version 等,分别用于查看 Memcached 的状态、清空 Memcached 中的数据和获取 Memcached 的版本信息。 10. Memcached 内部工作机制 Memcached 的内部工作机制主要...