• 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 服务。

  1. telnet HOST PORT - 连接
  2. set foo 0 0 3 - 保存命令
  3. bar - 数据
  4. get foo - 取得命令
  5. 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:在保存失败后输出。

  1. add 命令
    Memcached add 命令用于将 value(数据值) 存储在指定的 key(键) 中。
    如果 add 的 key 已经存在,则不会更新数据(过期的 key 会更新),之前的值将仍然保持相同,并且您将获得响应

add key flags exptime bytes [noreply]

value

  1. replace 命令
    Memcached replace 命令用于替换已存在的 key(键) 的 value(数据值)。
    如果 key 不存在,则替换失败,并且您将获得响应 NOT_STORED。
    replace key flags exptime bytes [noreply]

value

  1. append命令
    Memcached append 命令用于向已存在 key(键) 的 value(数据值) 后面追加数据
    append key flags exptime bytes [noreply]

value

  1. prepend命令
    Memcached prepend 命令用于向已存在 key(键) 的 value(数据值) 前面追加数据 。
    prepend key flags exptime bytes [noreply]

value

  1. 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安装与使用实例相关推荐

  1. Memcached安装及配置

    一.Memcached介绍 1.Memcached是国外社区网站LiveJournal团队开发,通过缓存数据库查询结果,减少数据库访问次数,从而提高动态web站点性能. 2.官方站点http://me ...

  2. Memcached安装以及PHP的调用

    一:安装libevent 由于memcached安装时,需要使用libevent类库,所以先安装libevent 1.下载 #wget   http://www.monkey.org/~provos/ ...

  3. SQL:安装多个实例,修改实例端口号,和IP加端口号连接实例

    原文:SQL:安装多个实例,修改实例端口号,和IP加端口号连接实例 sql server 安装第一个实例,默认实例的端口是1433,   一个库中如果有多个实例, 从第二个实例开始的端口是动态端口,需 ...

  4. linux下memcached安装 和redis安装,jdk,tomcat,mysql 安装

    一.memcached安装yum search memcached yum -y install memcached memmcached -h service memcached restart c ...

  5. NOSQL系列-memcached安装管理与repcached高可用性

    Memcached :基于内存工作键值存储型数据库,可以作为应用->memcached 缓存层->数据库.Danga Interactive公司开发,最初为了加速LiveJournal访问 ...

  6. Linux下 memcached安装以及启动

    2019独角兽企业重金招聘Python工程师标准>>> 1. 准备安装文件 下载memcached与libevent的安装文件 http://memcached.org/(memca ...

  7. linux下memcached安装以及启动

    1. 准备安装文件 下载memcached与libevent的安装文件 http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz(me ...

  8. ubuntu14中 memcached安装与使用

    第一步,先安装lib-event 下载lib-event  的包http://libevent.org/ 下载完之后,解压安装 ./configure –prefix=/usr (或 ./config ...

  9. Memcached安装

    1.安装文件下载 创建自己的文件夹 mkdir website cd website mkdir download cd download 下载memcached,地址可以去官网找 wget http ...

最新文章

  1. Advanced Transact-SQL for SQL Server 2000 学习译文
  2. flutter利用高德如何获取地理位置信息bug处理
  3. ASP.NET页面揭秘之页面生命周期
  4. tf.reshape(inputs, [-1,dim])的理解
  5. 希尔排序--Java
  6. Serverless 实战 —— Serverless 的运行原理与组件架构
  7. 我做的第二个正则转换工具
  8. Python统计多个Powerpoint文件中幻灯片总数量
  9. 200 行代码,一行行教你自制微信机器人
  10. EMF-edit功能解析
  11. mybatis 自定义插件的使用
  12. C++ boost 正则表达式用法
  13. 研究人性弱点的黑客?聊聊社会工程学与网络安全
  14. 如何彻底卸载office!!
  15. Excel进销存专业版
  16. cpolar+ipad+windows远程桌面控制
  17. 仿百度首页登陆框拖拽效果(可视窗口内拖动)
  18. 创业公司的软件研发规范
  19. Sign Up VS Register Sign in VS Login
  20. 21 天零基础入门机器学习 , 高薪 Offer 就在眼前

热门文章

  1. 限制EditText只能输入小数点后两位
  2. hostingEnvironment与宿主环境
  3. Google LOGO现代舞舞蹈动画
  4. centos 下安装mysql
  5. Linux C++ STL用法介绍(1)
  6. 云计算-My Future, The IT's Future
  7. VS2015解决非Unicode编码包含中文字段无法编译的问题
  8. 【报告分享】2021H1电商发展分析报告.pdf(附下载链接)
  9. 【实践】强化学习在招聘推荐冷启动优化中的应用实践
  10. 【干货】一张蓝图九大行动领域,实现AI赋能的企业转型-IBM.pdf(附下载链接)...