设为首页 收藏本站
查看: 1248|回复: 0

[经验分享] NoSQL系列(1)——memcached源码安装使用

[复制链接]

尚未签到

发表于 2018-12-24 12:45:39 | 显示全部楼层 |阅读模式
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的功能和安装步骤吧。下一篇分析一下它的内存使用方式。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-655307-1-1.html 上篇帖子: 超简单的memcached集群搭建 下篇帖子: 通过memcached实现领号排队功能及python队列实例
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表