码迷,mamicode.com
首页 > 数据库 > 详细

NoSQL系列(1)——memcached源码安装使用

时间:2018-04-09 16:25:14      阅读:179      评论:0      收藏:0      [点我收藏+]

标签: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. 验证监听端口

[root@cenvm72 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系列(1)——memcached源码安装使用

标签:NoSQL   memcached   数据库   

原文地址:http://blog.51cto.com/hellocjq/2096078

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!