CentOS 7 安装Memcached服务
Memcached 简介
- Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
- Memcached 官方地址:http://memcached.org/
- Memcached 教程: http://www.runoob.com/Memcached/Memcached-tutorial.html
Memcached 安装
- yum安装Memcached
[root@linuxprobe ~]# yum -y install memcached
[root@linuxprobe ~]# cat /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS=""
- 源码安装Memcached
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 命令位于 /usr/local/bin/memcached。
启动选项:
-d 是启动一个守护进程;
-m 是分配给Memcache使用的内存数量,单位是MB;
-u 是运行Memcache的用户;
-l 是监听的服务器IP地址,可以有多个地址;
-p 是设置Memcache监听的端口,,最好是1024以上的端口;
-c 是最大运行的并发连接数,默认是1024;
-P 是设置保存Memcache的pid文件。
# 启动memcached
[root@linuxprobe ~]# systemctl start memcached
[root@linuxprobe ~]# systemctl enable memcached
Created symlink from /etc/systemd/system/multi-user.target.wants/memcached.service to /usr/lib/systemd/system/memcached.service.
- 防火墙开启情况下,执行下面命令
[root@linuxprobe ~]# firewall-cmd --add-port=11211/tcp --permanent
success
[root@linuxprobe ~]# firewall-cmd --reload
success
Memcached 连接
- python使用memcached
[1] Install Python Memcached Client Library.
[root@linuxprobe ~]# yum -y install python-memcached
[2] Basic usage on Python.
[root@linuxprobe ~]$ vi use_memcache.py
#!/usr/bin/env python
import memcache
client = memcache.Client(["127.0.0.1:11211"], cache_cas=True)
# set and get a Key
client.set("key01", "value01")
print "key01.value :", client.get("key01")
# append and get a Key
client.append("key01", ",value02")
print "key01.value :", client.get("key01")
client.set("key02", 1)
# increment
client.incr("key02", 100)
print "key02.value :", client.get("key02")
# decrement
client.decr("key02", 51)
print "key02.value :", client.get("key02")
# CAS
client.set("key03", "value03")
print "key03.value :", client.gets("key03")
print "key03.casid :", client.cas_ids["key03"]
client.cas("key03", "value04")
print "key03.value :", client.gets("key03")
# run
[root@linuxprobe ~]$ python use_memcache.py
key01.value : value01
key01.value : value01,value02
key02.value : 101
key02.value : 50
key03.value : value03
key03.casid : 297
key03.value : value04
- php使用memcached
[1] Install PHP Memcached Client Module.
# install from EPEL
[root@linuxprobe ~]# yum --enablerepo=epel -y install php-pecl-memcached
[2] Basic usage on PHP.
[root@linuxprobe ~]$ vi use_memcache.php
<?php
$memcache = new Memcached();
$memcache->addServer('localhost', 11211);
$memcache->setOption(Memcached::OPT_COMPRESSION, false);
// set and get a Key
$memcache->set('key01', 'value01');
print 'key01.value : ' . $memcache->get('key01') . "\n";
// append and get a Key
$memcache->append('key01', ',value02');
print 'key01.value : ' . $memcache->get('key01') . "\n";
$memcache->set('key02', 1);
print 'key02.value : ' . $memcache->get('key02') . "\n";
// increment
$memcache->increment('key02', 100);
print 'key02.value : ' . $memcache->get('key02') . "\n";
// decrement
$memcache->decrement('key02', 51);
print 'key02.value : ' . $memcache->get('key02') . "\n";
$memcache->set('key03', 'value03');
print 'key03.value : ' . $memcache->get('key03') . "\n";
// CAS (on the example below, the Value of key03 will not update to value05)
$memcache->get('key03', null, $cas);
$memcache->replace('key03', 'value04');
if ($memcache->getResultCode() == Memcached::RES_NOTFOUND) {
$memcache->add('key03', 'value03');
} else {
$memcache->cas($cas, 'key03', 'value05');
}
print 'key03.value : ' . $memcache->get('key03') . "\n";
?>
# run
[root@linuxprobe ~]$ php use_memcache.php
key01.value : value01
key01.value : value01,value02
key02.value : 1
key02.value : 101
key02.value : 50
key03.value : value03
key03.value : value04
- Node.js 使用memcached
[1] Install Memcached Client Module.
[root@linuxprobe ~]$ npm install memcache
memcache@0.3.0 node_modules/memcache
[2] Basic usage on Node.js.
[root@linuxprobe ~]$ vi use_memcache.js
var memcache = require('memcache');
var client = new memcache.Client();
client.connect();
// set and get a Key
client.set('key01', 'value01');
client.get('key01', function (err, val) {
console.log("key01.value :", val);
});
// append and get a Key
client.append('key01', ',value02');
client.get('key01', function (err, val) {
console.log("key01.value :", val);
});
client.set('key02', 1);
client.get('key02', function (err, val) {
console.log("key02.value :", val);
});
// increment
client.increment('key02', 100);
client.get('key02', function (err, val) {
console.log("key02.value :", val);
});
// decrement
client.decrement('key02', 51);
client.get('key02', function (err, val) {
console.log("key02.value :", val);
});
// delete a Key
client.delete('key03');
client.get('key03', function (err, val) {
console.log("key03.value :", val);
});
client.close();
# run
[root@linuxprobe ~]$ node use_memcache.js
key01.value : value01
key01.value : value01,value02
key02.value : 1
key02.value : 101
key02.value : 50
key03.value : null
CentOS 7 安装Memcached服务的更多相关文章
- NoSql1 在Linux(CentOS)上安装memcached及使用
前言: 今天是初五,生活基本要从过年的节奏中回归到正常的生活了,所以想想也该想想与工作有关的事情了.我之前在工作中会经常使用memcached和redis,但是自己一直没有时间系统的好好看 ...
- mac 安装memcached服务
使用homebrew安装,homebrew安装方法http://brew.sh/ 安装memcached服务 brew install memcached 配置开机启动(用brew安装之后下面会提示怎 ...
- Mac linux 安装memcached服务 用法
今天在Mac上安装memcached服务的时候 由于安装memcached之前需要安装libevent依赖包 所以使用brew install libevent 安装过程中报错 Warning: Yo ...
- 二,windows下安装memcached服务
window下安装memcached服务的流程如下: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面)下输入 ‘c ...
- 安装memcached服务 和 php 安装memcache扩展
这是所有的命令,至于哪个命令是干嘛的自己悟去吧 ,顺便穿插一些知识点 安装libevent cd /home/ wget http://www.monkey.org/~provos/libeven ...
- 在 CentOS 上安装 vsftp 服务
在 CentOS 上安装 vsftp 服务 1.查看当前 CentOS 服务器是否已安装了 vsftpd 服务: rpm -q vsftpd 如果打印如下类似的信息则表明已安装 vsftpd 服务: ...
- Linux安装Memcached服务
环境: CentOS 6.4 libevent-1.4.14b-stable memcached-1.4.21 查看是否安装libevent[root@localhost ~]# rpm -qa |g ...
- 在Linux上安装Memcached服务
下载并安装Memcache服务器端服务器端主要是安装memcache服务器端.下载:http://www.danga.com/memcached/dist/memcached-1.2.2.tar.gz ...
- CentOS上安装GitBlit服务
简单介绍 在上一篇文章中,已经简单的介绍了如何在CentOS的服务器上搭建git服务器.但是这种方式实现的服务器功能比较弱,操作起来也比较繁琐.在网上搜索了一圈,感觉Gitblit比较符合我的需求.接 ...
随机推荐
- 20172305 2018-2019-1 《Java软件结构与数据结构》第三周学习总结
20172305 2018-2019-1 <Java软件结构与数据结构>第三周学习总结 教材学习内容总结 本周内容主要为书第五章内容: 队列 线性集合(元素从一端加入,另一端删除) 先进先 ...
- WebApi Session支持
代码: WebApiConfig using System; using System.Collections.Generic; using System.Linq; using System.Net ...
- .Net t图片生成水印
借鉴于博客园园友的方法,大神神风(https://www.cnblogs.com/tandyshen/archive/2012/04/14/picwater.html) ,很实用的一种 自定义水印方法 ...
- Codeforces Round #390 (Div. 2) D. Fedor and coupons(区间最大交集+优先队列)
http://codeforces.com/contest/754/problem/D 题意: 给定几组区间,找k组区间,使得它们的公共交集最大. 思路: 在k组区间中,它们的公共交集=k组区间中右端 ...
- hdu 1004 Let the Balloon Rise strcmp、map、trie树
Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Oth ...
- 【Mysql】修改mysql的字符集和默认存储引擎,解决数据入库乱码问题
背景 在使用Python + Testlink做自动化的过程中,遇到了数据入库出现乱码的情况,后来通过修改字符集的方式解决了这个问题.下面的内容主要来自于一篇相关博文,博主做了细微的调整, 原文链接: ...
- Java网络编程学习A轮_07_基于Buffer的Socket编程
示例代码: https://github.com/gordonklg/study,socket module A. LineSeparate 基于 Buffer 实现逐行读取的 EchoServer ...
- python学习笔记(日志系统实现)
博主今天在自己的接口自动化框架中添加了日志系统 基于python自带的logging库.包括日志主函数.生成日志文件: # -*- coding: utf-8 -*- # 日志系统 # 时间:2017 ...
- Android之第三方平台实现多平台分享操作
开发中常常遇到分享操作,当用到多种分享时,如:QQ,微信,微博,短信等,可以借助第三方平台来完成,此博客主要借助mob平台来完成相关操作,当然也可以借助其他平台,如友盟等. 先来看看效果图: 如图看出 ...
- 加载样式js
var MaskUtil = (function(){ var $mask,$maskMsg; var defMsg = '数据导出中,请稍待...'; function init(){ if(!$m ...