NoSQL系列——memcached源码安装使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NoSQL系列——memcached源码安装使用相关的知识,希望对你有一定的参考价值。

0. 引言

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,泛指非关系型数据库,因为NoSQL不仅仅是指一种数据库。就像关系型数据库中有mysql和Oracle等类型,NoSQL也有memcached、MongoDB和redis等。

NoSQL数据库存储原理非常简单(典型的数据类型为k-v),不存在繁杂的关系链,比如mysql查询的时候,需要找到对应的库、表(通常是多个表)以及字段。NoSQL数据可以存储在内存里,查询速度非常快,因此NoSQL数据库随着近年互联网海量数据需求的发展,也迅速占据了市场。虽然,NoSQL在性能表现上优于关系型数据库,但是它并不能完全替代关系型数据库。NoSQL支持分布式存储,但是它的分布式是靠客户端算法实现,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高读取速度。在动态系统中减少数据库负载,提升性能。

memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象的方便的接口,特别是对于设计动态web程序时减少对数据库的访问。它的适用场合,是那些对数据访问非常频繁的场景。

现在打算了解一下NoSQL 技术,计划会写三篇文章,主要作为入门了解之用。

1. 如何安装 memcached

作为memcached数据库的第一篇,我们就先从环境安装开始说起吧。安装方法比较简单,权当一个记录了解吧。

系统环境: CentOS7

memcached 运行需要有 libevent 库的支持,因为memcached需要支持非阻塞的IO访问。

1.1 源码安装 libevent

 cd /usr/local/src/
 wget  wget https://github.com/libevent/libevent/releases/download/release-2.1.8-stable/libevent-2.1.8-stable.tar.gz

tar zxvf  libevent-2.1.8-stable.tar.gz
cd libevent-2.1.8-stable
./configure --prefix=/usr/local/libevent/
make && make install

1.2 源码安装 memcached

wget https://www.memcached.org/files/memcached-1.5.7.tar.gz
tar -zxvf memcached-1.5.7.tar.gz 
./configure --with-libevent=/usr/local/libevent --prefix=/usr/local/memcached
make && make install

netstat -lntp

2. 启动 memcached

/usr/local/memcached/bin/memcached -d -m 100 -u root -p 11211  -c 256 -P ./memcached.pid

参数说明:

-d  选项是启动一个守护进程。
-m  是分配给Memcache使用的内存数量,单位是MB。
-u  是运行Memcache的用户。
-l  是监听的服务器IP地址。
-p  是设置Memcache监听的端口。
-c  选项是最大运行的并发连接数,默认是1024。
-P  是设置保存Memcache的pid文件,保存在 /tmp/memcached.pid。

也可以启动多个守护进程,不过端口不能重复。

3. 验证监听端口

[[email protected] memcached-1.5.7]# netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN          9593/nginx: master  
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN          1073/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*              LISTEN         2173/master         
tcp        0      0 0.0.0.0:12000            0.0.0.0:*            LISTEN         20089/memcached     
tcp6       0      0 :::80                           :::*                    LISTEN         9593/nginx: master  
tcp6       0      0 :::22                           :::*                    LISTEN         1073/sshd           
tcp6       0      0 ::1:25                        :::*                    LISTEN          2173/master         
tcp6       0      0 :::12000                    :::*                    LISTEN          20089/memcached 

4. 总结

这篇就简单介绍一下 memcached的功能和安装步骤吧。下一篇分析一下它的内存使用方式。

以上是关于NoSQL系列——memcached源码安装使用的主要内容,如果未能解决你的问题,请参考以下文章

『全国首发』NoSQL很性感之Memcached系列三

NoSQL数据库之Memcached的认识及安装使用

memcached安装配置

NoSQL数据库介绍memcached安装

《NoSQL》memcached缓存

NoSQL篇 | Memcached 安装配置