Memcached笔记

本篇文章为菜鸟教程——Memcached教程笔记及自己实际操作记录下的内容。

介绍

(1)Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。

(2)Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。

(3)Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。

(4)本质上,它是一个简洁的key-value存储系统。

(5)一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。

特征

memcached作为高速运行的分布式缓存服务器,具有以下的特点。

  • 协议简单
  • 基于libevent的事件处理
  • 内置内存存储方式
  • memcached不互相通信的分布式

Linux下的安装

memcached的安装非常简单。要安装memcached,首先需要安装libevent库。

sudo apt-get install libevent ibevent-dev         自动下载安装(Ubuntu/Debian)

yum install libevent libevent-devel                    自动下载安装(Redhat/Fedora/Centos)

安装完libevent后,再安装memcached。

sudo apt-get install memcached          (ubuntu/Debian)
yum install memcached                  (centos/Fedora)

源代码安装

wget http://memcached.org/latest                    下载最新版本

tar -zxvf memcached-1.x.x.tar.gz                    解压源码

cd memcached-1.x.x                                  进入目录

./configure --prefix=/usr/local/memcached           配置

make && make test                                   编译

sudo make install                                   安装
  • 这里需要注意,在解压源码的时候,可能文件名不是memcached-.tar.gz,我的文件是latest,需要查看一下下载的文件名叫什么再进行解压。
  • 在执行./configure的时候,一开始没去注意,报了checking for gcc... no,以为配置成功了,后来没找到/usr/local/memcached才意识到没配置成功,这是因为系统缺少gcc套件,同样在make的时候也会出错,解决办法很简单,yum install gcc就可以了。

memcached运行

$ /usr/local/memcached/bin/memcached -h                           命令帮助

启动memcached

(1)作为前台程序启动

/usr/local/memcached/bin/memcached -p 11211 -u root -m 64m -vv
  • -p 分配Memcached监听端口
  • -m 分配内存大小,单位是MB
  • -u 指定用户

(2)作为后台服务程序启动

/usr/local/memcached/bin/memcached -p 11211 -m 64m -d

利用-d选项,以守护进程的方式启动,在后台运行。

set & get

启动完memcached后,要使用memcached就需要先进行连接。重新打开一个终端,键入

telnet 主机ip 端口
示例:
telnet 127.0.0.1 11211          #127.0.0.1表示连接本地ip

如果不能运行telnet,则需yum install telnet

set命令

连接完就可以用memcached进行数据存储了。
set命令基本语法如下:

set key flags exptime bytes [noreply] 
value 

参数说明如下:

  • key:键值 key-value 结构中的 key,用于查找缓存值。
  • flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
  • exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
  • bytes:在缓存中存储的字节数
  • noreply(可选): 该参数告知服务器不需要返回数据
  • value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)

设置成功将会输出STORED

输出信息说明:

  • STORED:保存成功后输出。
  • ERROR:保存失败后输出。

get命令

命令格式:

get key1 key2 key3

通过get命令即可获取到通过set存储的key的值,如果需要查找多个key,key间用空格分隔。

你可能感兴趣的:(Memcached笔记)