[缓存]关于memcached的详细介绍以及用法

简介:

   很久没用过memcached,觉得有些生疏了,现在做一次笔记,回忆一下,也为了以后更加方便的理解.

   关于memcached的历史之类的,就不说了,不熟,也没怎么看过,主要就是说memcached的原理以及方式吧.笔记比较杂乱.

   memcached其实是类似于软件的一种,它是用来为其他软件或者服务提供一种高性能来存在的.memcache是一种高性能的分布式缓存服务器,一般是为了通过缓存数据库查询的结果,减少访问的次数来提高Web的访问速度的.

   php_memcached 是 php 为 Memcached 提供的 PECL 扩展。由于 Memcached 简单的协议规范,因此,当 Memcached推出后,就有了 PHP 的接口规范和相关扩展。

    memcached 使用了同样的“Key=>Value”方式组织数据,但是它和共享内存等其他等本地缓存有非常大 的区别。Memcached 是分布式的,也就是说它不是本地的。它基于网络连接(当然它也可以使用 localhost)方式完 成服务,本身它是一个独立于应用的程序或守护进程(Daemon 方式)。

   memcached 使用 libevent 库实现网络连接服务,理论上可以处理无限多的连接,但是它和 Apache 不同,它更 多的时候是面向稳定的持续连接的,所以它实际的并发能力是有限制的。在保守情况下 memcached 的最大同时连 接数为 200,这和 Linux 线程能力有关系,这个数值是可以调整的。

   下面说说memcache命令行简单的使用吧.


memcache启动参数

-p  TCP端口号,默认11211

-UUDP监听端口,默认11211,0时关闭

-l绑定地址,默认所有允许,如果设置了,

-d以daemon方式运行

-u绑定使用指定用户运行的进程

-m允许使用内存,单位M(默认64)

-P将PID写入文件


连接:

telnet 127.0.0.1 11211


命令:

set向内存中增加键值对,如果存在,则替换

add向内存中增加键值对

replace如果值不存在,返回NOT_STORED,否则替换值

get获取值

delete删除

flush_all清空所有缓存


stats解释:


STAT pid 22459                             进程ID

STAT uptime 1027046                        服务器运行秒数


STAT time 1273043062                       服务器当前unix时间戳


STAT version 1.4.4                         服务器版本


STAT pointer_size 64                       操作系统字大小(这台服务器是64位的)


STAT rusage_user 0.040000                  进程累计用户时间


STAT rusage_system 0.260000                进程累计系统时间


STAT curr_connections 10                   当前打开连接数


STAT total_connections 82                  曾打开的连接总数


STAT connection_structures 13              服务器分配的连接结构数


STAT cmd_get 54                            执行get命令总数


STAT cmd_set 34                            执行set命令总数


STAT cmd_flush 3                           指向flush_all命令总数


STAT get_hits 9                            get命中次数


STAT get_misses 45                         get未命中次数


STAT delete_misses 5                       delete未命中次数


STAT delete_hits 1                         delete命中次数


STAT incr_misses 0                         incr未命中次数


STAT incr_hits 0                           incr命中次数


STAT decr_misses 0                         decr未命中次数


STAT decr_hits 0                           decr命中次数


STAT cas_misses 0    cas未命中次数


STAT cas_hits 0                            cas命中次数


STAT cas_badval 0                          使用擦拭次数


STAT auth_cmds 0


STAT auth_errors 0


STAT bytes_read 15785                      读取字节总数


STAT bytes_written 15222                   写入字节总数


STAT limit_maxbytes 1048576                分配的内存数(字节)


STAT accepting_conns 1                     目前接受的链接数


STAT listen_disabled_num 0                


STAT threads 4                             线程数


STAT conn_yields 0


STAT bytes 0                               存储item字节数


STAT curr_items 0                          item个数


STAT total_items 34                        item总数


STAT evictions 0                           为获取空间删除item的总数


   很早之前想的一个问题,如果缓存还存在,但是数据已经更新,那么用户不就看不到最新的数据了么?后来一大神给我解决,memcache可以存一个临时的,不是永久的.或者不经常改动的数据,还有统计在线人数,或者单点登录SSO等.都可以用到memcache,那会儿很傻的以为保存整个数据库的数据.

   希望这些也可以给大家个思路吧.至于其他的,还没有接触过很多.暂时确实对memcache的深度应用不足.










本文转自 3147972 51CTO博客,原文链接:http://blog.51cto.com/a3147972/1401401,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
缓存 NoSQL Redis
如何在Python中使用Redis或Memcached进行缓存?
如何在Python中使用Redis或Memcached进行缓存?
28 2
|
8月前
|
缓存 关系型数据库 MySQL
高性能内存对象缓存Memcached
高性能内存对象缓存Memcached案例
|
6月前
|
存储 缓存 NoSQL
springboot快速整合Memcached缓存技术
springboot快速整合Memcached缓存技术
|
存储 缓存 NoSQL
同一服务器上有多个 WordPress 网站如何配置 Memcached 缓存?
如果在同一台服务器上,部署了多个 Wordpress 项目,如果在每台服务器上都启用 Memcached ,那么将会出现网站白屏、数据串站的问题,本文我们来介绍如何处理这种问题。
311 0
|
缓存 Java 开发者
《SpringBoot篇》18.SpringBoot整合Memcached缓存超详细教程(二)
《SpringBoot篇》18.SpringBoot整合Memcached缓存超详细教程(二)
《SpringBoot篇》18.SpringBoot整合Memcached缓存超详细教程(二)
|
存储 缓存 NoSQL
《SpringBoot篇》18.SpringBoot整合Memcached缓存超详细教程(一)
《SpringBoot篇》18.SpringBoot整合Memcached缓存超详细教程(一)
《SpringBoot篇》18.SpringBoot整合Memcached缓存超详细教程(一)
|
存储 缓存 负载均衡
nosql缓存技术之memcached介绍、安装以及使用总结(1)
nosql缓存技术之memcached介绍、安装以及使用总结
211 0
nosql缓存技术之memcached介绍、安装以及使用总结(1)
|
存储 缓存 算法
Memcached缓存
memcached是应用较广的开源分布式缓存产品之一,它本身其实不提供分布式解决方案。 在服务端,memcached集群环境实际就是一个个memcached服务器的堆积,环境搭建较为简单。 cache的分布式主要是在客户端实现,通过客户端的路由处理来达到分布式解决方案
150 0
Memcached缓存
|
存储 消息中间件 缓存
全网最权威!Redis官方对比分布式缓存Redis V.S Memcached
全网最权威!Redis官方对比分布式缓存Redis V.S Memcached
200 0
|
缓存 NoSQL Linux
轻量级 memcached缓存代理 twemproxy实践
本文内容脑图如下: 文章共 533字,阅读大约需要 2分钟 ! 概 述 twemproxy(nutcracker) 是 Twitter开源的轻量级 memcached / redis 代理服务器,本质就是一个集群管理工具,主要用来弥补 Redis和 Memcached对集群管理的不足,其完成的最大功劳就是通过在后端减少同缓存服务器的连接数从而增加吞吐量。
1734 0