linux 下安装memcached

安装: 
下载安装包:memcached-1.4.8.tar.gz(最新) libevent-1.4.9-stable.tar.gz(socket通信程序,它是 memcached 所依赖的异步事件通知库) 上述包都是用c写的。故在linux环境下安装,linux必须有c编译环境,目前都用gcc(最好系统自带,否则自己安装非常麻烦,特别耗时间) 
命令 
=============libevent 安装================== 
tar –xzf  libevent-1.4.9-stable.tar.gz 
cd libevent-1.4.9-stable.tar.gz 
./configure –prefix=/usr 
make 
make install 
============================================ 
检测一下查看是否安装: 
ls -al /usr/lib | grep libevent 
#显示 
libevent.so -> libevent-2.0.so.5.1.2 
=============memcache安装================== 
tar –xzf  memcached-1.4.8.tar.gz 
cd memcached-1.4.8.tar.gz 
./configure –prefix=/usr 
make 
make install 
============================================ 
检测是否成功安装 
ls -al /usr/local/bin/mem* 
#显示 
/usr/local/bin/memcached 


Memcache 已经安装到usr/bin目录下 

启动 
/usr/bin memcached –d –m 128 –l  10.10.31.79  –p 11211  -u root【注1】 

-d  以守护(daemon)程序方式运行memcached  
-l   设置监听的ip地址,如果是本机,通常不设置 
-p  设置监听端口,默认为11211 通常不设置 
-m  设置内存大小  单位 M 
-u   指定用户。当前用户为root时,可以指定用户。(不能以root用户权限启动) 
-vv  用very vrebose模式启动,调试信息和错误输出到控制台 
还有很多命令可以用 memcached –h 来查看 

测试 
telnet  server  port 
这里,我用的SecureCRT ,当然还有很多客户端工具,如PuTTy;Window 自带的cmd中的telnet 也可以 ,但是容易出现乱码问题,得设置编码格式。 

简介 

Memcached 作为一个主要用作访问加速的不落地cache,其内存主要是使用程序上的堆内存(heap memory),而且内存一旦分配不再释放;同时为了加速对对应内存块的访问,采用了Hash桶管理内存的方式;在数据淘汰算法方面使用了LRU(最近最少使用算法)。 

特点 
1、 协议简单。服务器客户端的通信不使用复杂的xml等方式,采用简单基于文本行的协议。 
2、 基于libevent的事件处理。 
3、 内置内存处理方式 
4、 Memcached不互相通信的分布式 
Memcached尽管是分布式缓存服务器,但服务器端并没有分布式功能,各个memcached不会互相通信以共享缓存信息。分布式完全取决于客户端的实现。 

保存数据的方法 

Add  仅当存储空间中不存在键相同的数据时保存 
方法: 
add(“键”,值””,”期限”)   期限单位:秒 

replace 仅当存储空间中存在键相同的数据时保存 
方法: 
replace(“key”,”value”,”time”) 

set   与add 和replace不同,无论何时都保存 
方法: 
set(“key”,”value”,”time”)  此方法的key默认长度为250个字符 

获取数据的方法 
1、 get、gets 
get(“key”); 
gets(key); 

删除数据      
delete(“key”,”阻塞时间(秒)”) 
阻塞时间的作用:可以阻止该时间内,以同样的键值保存新数据,但对set无效。 

注意事项 
1、 不要存太大的数据,如超过1M,memcached默认是不能存超过1M的数据的,其次,过大的数据在进行序列化和反序列化的时候会浪费不少时间。 
2、 Key不能包含控制字符和空白字符。可以把key进行MD5后的结果作为key 
3、 找了份参考资料,写的很详细 
http://www.ibm.com/developerworks/cn/java/j-memcached1 



【注1】启动时报如下错误: 
memcached: error while loading shared libraries:libevent-2.0.so.5: cannot 
open shared object file: No such file or directory 
网上解决方法1: 
那就表示系統不知道xxx.so 放在哪個目錄下。 
這個時候就要在/etc/ld.so.conf中加入xxx.so所在的目錄。 
一般而言,有很多so檔會在/usr/local/lib這個目錄下,所以在/etc/ld.so.conf中加入/usr/local/lib這一行,可以解決此問題。 
將 /etc/ld.so.conf存檔後,還要執行「/sbin/ldconfig –v」來更新一下才會生效。 
根据上面的说法我是这样做的: 
[root@datapro-0002 bin]# cd /etc/ 
[root@datapro-0002 etc]# cat ld.so.conf 
include ld.so.conf.d/*.conf 
发现ld.so.conf文件包含了include ld.so.conf.d目录下的所有.conf文件 
于是到include ld.so.conf.d目录下新建lib.conf文件添加以下内容: 
/usr/lib(libevent在该目录下) 

网上解决方法2:(没有试过) 
如果启动时出现“memcached: error while loading shared libraries:libevent-2.0.so.5: cannot 
open shared object file: No such file or directory”之类的信息,表示memcached 找不到 
libevent 的位置 
所以,请先使用whereis libevent 得到位置,然后连接到memcached 所寻找的路径 
首先查看,libevent 在哪里 
# whereis libevent 
libevent: /usr/local/lib/libevent.la /usr/local/lib/libevent.so /usr/local/lib/libevent.a 
然后,再看memcached 从哪里找它 
# LD_DEBUG=libs memcached -v 2>&1 > /dev/null | less 
可以看到:是/usr/lib/libevent-2.0.so.5,所以,创建软链 
[root@localhost tools]# ln -s /usr/local/lib/libevent-2.0.so.5 /usr/lib/libevent-2.0.so.5 

【其他】 
再次启动 
关闭memcached :pkill memcached 
检查memcached服务是否在监听<memcache监听默认端口为:11211> 
echo stats | nc 127.0.0.1 11211 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值