Memcached安装与使用实例
- Memcached简介
- 安装与启动
- 1.安装Libevent
- 2.安装memcached
- libevent安装
- 安装问题解决
- 命令端连接与使用
- Java连接获取值
Memcached简介
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。
安装与启动
1.安装Libevent
Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库。安装命令:
yum install libevent libevent-deve
也可使用的源码安装方式。
2.安装memcached
1). wget http://memcached.org/latest - 获取最新版
下载的文件名是 latest, rename 一下(mv命令)
2) mv latest memcached-1.5.tar.gz
3) 安装 tar -zxvf memcached-1.5.tar.gz
4)配置: ./configure –prefix=/usr/local/memcached-1.5.7
出现错误: no acceptable C compiler found in $PATH
没有C编译器, 安装一个gcc
yum -y install gcc
5) 编译 , 分别执行以下命令
./configure –prefix=/usr/local/memcached-1.5.7
make && make test
如果这一步出现error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory 的错误,见下面libevent安装。
sudo make install
6)运行
cd /usr/local/memcached-1.5.7
命名行帮助:
bin/memcached -h
启动选项:
-d是启动一个守护进程;
-m是分配给Memcache使用的内存数量,单位是MB;
-u是运行Memcache的用户;
-l是监听的服务器IP地址,可以有多个地址;
-p是设置Memcache监听的端口,,最好是1024以上的端口;
-c是最大运行的并发连接数,默认是1024;
-P是设置保存Memcache的pid文件
作为后台服务程序运行:
bin/memcached -p 11211 -m 64m -d
或者
bin/memcached -d -m 64M -u root -l xx.xx.xx.xx -p 11211 -c 256 -P /tmp/memcached.pid
至此,安装启动完成.
libevent安装
查看是否安装 libevent
ls -al /usr/lib | grep libevent
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
./configure –prefix=/usr
sudo make
sudo make install
libevent会安装到 /usr/lib 或 /usr/local/lib 下
测试libevent是否安装成功:ls -al /usr/lib | grep libevent(或 ls -al /usr/local/lib | grep libevent)
如果libevent的安装目录为/usr/local/lib下,则还需要建立 libevent-2.0.so.6 到 /usr/lib 的软连接,这样其他程序运行时才能找到libevent库:
ln -s /usr/local/lib/libevent-2.0.so.6 /usr/lib/libevent-2.0.so.6
移除:
rpm -e libevent –nodeps
安装问题解决
es: error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory
原因是:已经安装了该共享库, 但执行需要调用该共享库的程序的时候, 程序按照默认共享库路径找不到该共享库文件.
1) 如果共享库文件安装到了/lib或/usr/lib目录下, 那么需执行一下ldconfig命令
2) 如果共享库文件安装到了/usr/local/lib(很多开源的共享库都会安装到该目录下)或其它”非/lib或/usr/lib”目录下, 那么在执行ldconfig命令前, 还要把新共享库目录加入到共享库配置文件/etc/ld.so.conf中, 如下:
cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
echo “/usr/local/lib” >> /etc/ld.so.conf
ldconfig
3) 如果共享库文件安装到了其它”非/lib或/usr/lib” 目录下, 但是又不想在/etc/ld.so.conf中加路径(或者是没有权限加路径). 那可以export一个全局变量LD_LIBRARY_PATH, 然后运行程序的时候就会去这个目录中找共享库.
LD_LIBRARY_PATH的意思是告诉loader在哪些目录中可以找到共享库. 可以设置多个搜索目录, 这些目录之间用冒号分隔开. 比如安装了一个mysql到/usr/local/mysql目录下, 其中有一大堆库文件在/usr/local/mysql/lib下面, 则可以在.bashrc或.bash_profile或shell里加入以下语句即可:
export LD_LIBRARY_PATH=/usr/local/mysql/lib:$LD_LIBRARY_PATH
命令端连接与使用
可以通过 telnet 命令并指定主机ip和端口来连接 Memcached 服务。
- telnet HOST PORT - 连接
- set foo 0 0 3 - 保存命令
- bar - 数据
- get foo - 取得命令
- quit - 退出
看不懂上面的部门, 没关系, 接下来介绍Memcached 命令
存储命令
1. set 命令
用于将 value(数据值) 存储在指定的 key(键) 中。
如果set的key已经存在,该命令可以更新该key所对应的原来的数据,也就是实现更新的作用。
set key flags exptime bytes [noreply]
value
参数说明如下:
key:键值 key-value 结构中的 key,用于查找缓存值。
flags:可以包括键值对的整型参数,客户机使用它存储关于键值对的额外信息 。
exptime:在缓存中保存键值对的时间长度(以秒为单位,0 表示永远)
bytes:在缓存中存储的字节数
noreply(可选): 该参数告知服务器不需要返回数据
value:存储的值(始终位于第二行)(可直接理解为key-value结构中的value)
输出信息说明:
STORED:保存成功后输出。
ERROR:在保存失败后输出。
- add 命令
Memcached add 命令用于将 value(数据值) 存储在指定的 key(键) 中。
如果 add 的 key 已经存在,则不会更新数据(过期的 key 会更新),之前的值将仍然保持相同,并且您将获得响应
add key flags exptime bytes [noreply]
value
- replace 命令
Memcached replace 命令用于替换已存在的 key(键) 的 value(数据值)。
如果 key 不存在,则替换失败,并且您将获得响应 NOT_STORED。
replace key flags exptime bytes [noreply]
value
- append命令
Memcached append 命令用于向已存在 key(键) 的 value(数据值) 后面追加数据
append key flags exptime bytes [noreply]
value
- prepend命令
Memcached prepend 命令用于向已存在 key(键) 的 value(数据值) 前面追加数据 。
prepend key flags exptime bytes [noreply]
value
- CAS命令
Memcached CAS(Check-And-Set 或 Compare-And-Swap) 命令用于执行一个”检查并设置”的操作
它仅在当前客户端最后一次取值后,该key 对应的值没有被其他客户端修改的情况下, 才能够将值写入。
检查是通过cas_token参数进行的, 这个参数是Memcach指定给已经存在的元素的一个唯一的64位值。
cas key flags exptime bytes unique_cas_token [noreply]
v
value
Java连接获取值
jar档地址:
https://code.google.com/archive/p/spymemcached/downloads
如果是使用maven的话, 直接在pom.xml中添加 dependency 是无法下载的。
把下载的jar copy 到 D:\temp目录
mvn install:install-file -DgroupId=spy -DartifactId=memcached -Dversion=2.10.3 -Dpackaging=jar -Dfile=D:\temp\spymemcached-2.10.3.jar
再到pom.xml 添加以下部分:
spy
memcached
2.10.3
好了, 开始测试代码了
/*** @Title: MemcachedTest.java* @Package com.oscar999* @Description: TODO* @author oscar999* @date May 7, 2018 3:10:19 PM* @version V1.0*/package com.oscar999;import java.io.IOException;
import java.net.InetSocketAddress;import org.junit.Test;import net.spy.memcached.MemcachedClient;/*** @ClassName: MemcachedTest* @Description: TODO* @author oscar999*/public class MemcachedTest {@Testpublic void test() throws IOException {MemcachedClient mcc = new MemcachedClient(new InetSocketAddress("172.21.145.77", 11211));System.out.println("Connection to server sucessful.");String s = (String) mcc.get("foo");System.out.println("foo in cache=" + s);mcc.shutdown();}
}
连接服务器, 并获取foo的值。
Memcached安装与使用实例相关推荐
- Memcached安装及配置
一.Memcached介绍 1.Memcached是国外社区网站LiveJournal团队开发,通过缓存数据库查询结果,减少数据库访问次数,从而提高动态web站点性能. 2.官方站点http://me ...
- Memcached安装以及PHP的调用
一:安装libevent 由于memcached安装时,需要使用libevent类库,所以先安装libevent 1.下载 #wget http://www.monkey.org/~provos/ ...
- SQL:安装多个实例,修改实例端口号,和IP加端口号连接实例
原文:SQL:安装多个实例,修改实例端口号,和IP加端口号连接实例 sql server 安装第一个实例,默认实例的端口是1433, 一个库中如果有多个实例, 从第二个实例开始的端口是动态端口,需 ...
- linux下memcached安装 和redis安装,jdk,tomcat,mysql 安装
一.memcached安装yum search memcached yum -y install memcached memmcached -h service memcached restart c ...
- NOSQL系列-memcached安装管理与repcached高可用性
Memcached :基于内存工作键值存储型数据库,可以作为应用->memcached 缓存层->数据库.Danga Interactive公司开发,最初为了加速LiveJournal访问 ...
- Linux下 memcached安装以及启动
2019独角兽企业重金招聘Python工程师标准>>> 1. 准备安装文件 下载memcached与libevent的安装文件 http://memcached.org/(memca ...
- linux下memcached安装以及启动
1. 准备安装文件 下载memcached与libevent的安装文件 http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz(me ...
- ubuntu14中 memcached安装与使用
第一步,先安装lib-event 下载lib-event 的包http://libevent.org/ 下载完之后,解压安装 ./configure –prefix=/usr (或 ./config ...
- Memcached安装
1.安装文件下载 创建自己的文件夹 mkdir website cd website mkdir download cd download 下载memcached,地址可以去官网找 wget http ...
最新文章
- Advanced Transact-SQL for SQL Server 2000 学习译文
- flutter利用高德如何获取地理位置信息bug处理
- ASP.NET页面揭秘之页面生命周期
- tf.reshape(inputs, [-1,dim])的理解
- 希尔排序--Java
- Serverless 实战 —— Serverless 的运行原理与组件架构
- 我做的第二个正则转换工具
- Python统计多个Powerpoint文件中幻灯片总数量
- 200 行代码,一行行教你自制微信机器人
- EMF-edit功能解析
- mybatis 自定义插件的使用
- C++ boost 正则表达式用法
- 研究人性弱点的黑客?聊聊社会工程学与网络安全
- 如何彻底卸载office!!
- Excel进销存专业版
- cpolar+ipad+windows远程桌面控制
- 仿百度首页登陆框拖拽效果(可视窗口内拖动)
- 创业公司的软件研发规范
- Sign Up VS Register Sign in VS Login
- 21 天零基础入门机器学习 , 高薪 Offer 就在眼前
热门文章
- 限制EditText只能输入小数点后两位
- hostingEnvironment与宿主环境
- Google LOGO现代舞舞蹈动画
- centos 下安装mysql
- Linux C++ STL用法介绍(1)
- 云计算-My Future, The IT's Future
- VS2015解决非Unicode编码包含中文字段无法编译的问题
- 【报告分享】2021H1电商发展分析报告.pdf(附下载链接)
- 【实践】强化学习在招聘推荐冷启动优化中的应用实践
- 【干货】一张蓝图九大行动领域,实现AI赋能的企业转型-IBM.pdf(附下载链接)...