导航:首页 > 操作系统 > linuxmemcached安装配置

linuxmemcached安装配置

发布时间:2023-05-17 05:50:32

linux 怎样 查看memcached是否安装成功

一、使用memcache top脚本
memcache-top 是一个用 Perl 编写的命令行小工具,用来实时的获取 memcached 缓存服务器的详细信息,例如缓存命中率等。到官网下载脚本,放到用户目录,直接运行即可。
/home/nihaoya/memcache-top
INSTANCE USAGE HIT % CONN TIME EVICT/s READ/s WRITE/s
10.50.11.5:11211 88.8% 69.6% 1123 1.9ms 0.3 13.1K 36.2K
10.50.11.5:11212 88.7% 69.6% 1175 0.6ms 0.3 12.4K 28.1K
10.50.11.5:11213 88.8% 69.4% 1148 0.7ms 0.0 16.6K 32.1K
10.50.12.5:11211 89.3% 81.5% 1460 0.7ms 0.3 17.7K 204.0K
10.50.12.5:11212 89.4% 69.3% 1174 0.6ms 1.0 28.9K 63.5K
10.50.12.5:11213 89.3% 69.4% 1158 0.7ms 0.7 166.3K 194.4K
10.50.15.5:11211 89.3% 71.8% 1472 0.8ms 0.0 37.3K 59.2K
10.50.15.5:11212 89.4% 69.3% 1143 0.7ms 0.7 44.9K 35.4K
10.50.15.5:11213 89.3% 84.5% 1371 0.7ms 0.7 49.0K 187.2K
10.50.9.90:11211 30.2% 76.3% 259 0.7ms 0.0 243 999
10.50.9.90:11212 19.2% 60.3% 261 0.7ms 0.0 40 801
10.50.9.90:11213 17.5% 16.9% 235 0.6ms 0.0 70 600
AVERAGE: 72.4% 67.3% 998 0.8ms 0.3 32.2K 70.2K
TOTAL: 23.4GB 11.7K 9.2ms 4.0 386.4K 842.3K
二、使用telnet方式,只能查看某个节点的
[nihaoya@SHANGH-39-DX-APP ~]# telnet 127.0.0.1 11211

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

stats

STAT pid 22362 //memcache服务器的进程ID www.2cto.com

STAT uptime 1469315 //服务器已经运行的秒数

STAT time 1339671194 //服务器当前的unix时间戳

STAT version 1.4.9 //memcache版本

STAT libevent 1.4.9-stable //libevent版本

STAT pointer_size 64 //当前操作系统的指针大小(32位系统一般是32bit,64就是64位操作系统)

STAT rusage_user 3695.485200 //进程的累计用户时间

STAT rusage_system 14751.273465 //进程的累计系统时间

STAT curr_connections 69 //服务器当前存储的items数量

STAT total_connections 855430 //从服务器启动以后存储的items总数量

STAT connection_structures 74 //服务器分配的连接构造数

STAT reserved_fds 20 //

STAT cmd_get 328806688 //get命令(获取)总请求次数

STAT cmd_set 75441133 //set命令(保存)总请求次数 www.2cto.com

STAT cmd_flush 34 //flush命令请求次数

STAT cmd_touch 0 //touch命令请求次数

STAT get_hits 253547177 //总命中次数

STAT get_misses 75259511 //总未命中次数

STAT delete_misses 4 //delete命令未命中次数

STAT delete_hits 565730 //delete命令命中次数

STAT incr_misses 0 //incr命令未命中次数

STAT incr_hits 0 //incr命令命中次数

STAT decr_misses 0 //decr命令未命中次数

STAT decr_hits 0 //decr命令命中次数

STAT cas_misses 0 //cas命令未命中次数

STAT cas_hits 0 //cas命令命中次数

STAT cas_badval 0 //使用擦拭次数

STAT touch_hits 0 //touch命令未命中次数

STAT touch_misses 0 //touch命令命中次数

STAT auth_cmds 0 //认证命令处理的次数

STAT auth_errors 0 //认证失败数目

STAT bytes_read 545701515844 //总读取字节数(请求字节数)

STAT bytes_written 1649639749866 //总发送字节数(结果字节数)

STAT limit_maxbytes 2147483648 //分配给memcache的内存大小(字节)

STAT accepting_conns 1 //服务器是否达到过最大连接(0/1)

STAT listen_disabled_num 0 //失效的监听数

STAT threads 4 //当前线程数

STAT conn_yields 14 //连接操作主动放弃数目

STAT hash_power_level 16 //

STAT hash_bytes 524288

STAT hash_is_expanding 0

STAT expired_unfetched 30705763

STAT evicted_unfetched 0

STAT bytes 61380700 //当前存储占用的字节数

STAT curr_items 28786 //当前存储的数据总数

STAT total_items 75441133 //启动以来存储的数据总数

STAT evictions 0 //为获取空闲内存而删除的items数(分配给memcache的空间用满后需要删除旧的items来得到空间分配给新的items)

STAT reclaimed 39957976 //已过期的数据条目来存储新数据的数目

END

退出:quit或者ctrl + ] 然后在按q就行了。

安装telenet方法

1、yum install telnet-server 服务端

2、yum install telnet 客户端

3、vi /etc/xinetd.d/telnet

service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = yes
}
将disable项由yes改成no。

4、/etc/init.d/xinetd restart

其他方式:

前项目中,linux下memcached的启动/结束的方式

默认情况下memcached安装到/usr/local/bin下。

进入安装目录,启动memcached:/usr/local/memcached/bin/memcached -d -c 10240 -m 1024 -u root

获取运行状态:echo stats | nc localhost 11211(可以查看出pid) 或使用ps -ef|grep memcached

停止memcached:kill -9 pid (-9表示强制杀死,pid 为进程的进程标识符)

-d 选项是启动一个守护进程,

-m 是分配给Memcache使用的内存数量,单位是MB,这里是1024MB,默认是64MB

-u 是运行Memcache的用户,这里是root

-l 是监听的服务器IP地址,默认应该是本机
-p 是设置Memcache监听的端口,默认是11211,最好是1024以上的端口

-c 选项是最大运行的并发连接数,默认是1024,这里设置了10240,按照你服务器的负载量来设定

-P 是设置保存Memcache的pid文件位置

-h 打印帮助信息

-v 输出警告和错误信息

-vv 打印客户端的请求和返回信息

ps -ef|grep memcached(命令说明)

grep:功能说明:查找文件里符合条件的字符串。

|:管道命令操作符

ps(process status):功能说明:报告程序状况。
连接到 memcached:

telnet ip 端口,如telnet 192.168.100.11 11211

stats查看状态,flush_all:清楚缓存

查看memcached状态的基本命令,通过这个命令可以看到如下信息:

STAT pid 22459 进程ID

STAT uptime 1027046 服务器运行秒数

STAT time 1273043062 服务器当前unix时间戳

STAT version 1.4.4 服务器版本

STAT pointer_size 64 操作系统字大小(这台服务器是64位的)
STAT rusage_user 0.040000 进程累计用户时间

STAT rusage_system 0.260000 进程累计系统时间

STAT curr_connections 10 当前打开连接数

STAT total_connections 82 曾打开的连接总数

STAT connection_structures 13 服务器分配的连接结构数
STAT cmd_get 54 执行get命令总数

STAT cmd_set 34 执行set命令总数

STAT cmd_flush 3 指向flush_all命令总数

STAT get_hits 9 get命中次数

STAT get_misses 45 get未命中次数

STAT delete_misses 5 delete未命中次数

STAT delete_hits 1 delete命中次数

STAT incr_misses 0 incr未命中次数

STAT incr_hits 0 incr命中次数

STAT decr_misses 0 decr未命中次数

STAT decr_hits 0 decr命中次数
STAT cas_misses 0 cas未命中次数
STAT cas_hits 0 cas命中次数
STAT cas_badval 0 使用擦拭次数

STAT auth_cmds 0

STAT auth_errors 0

STAT bytes_read 15785 读取字节总数

STAT bytes_written 15222 写入字节总数

STAT limit_maxbytes 1048576 分配的内存数(字节)

STAT accepting_conns 1 目前接受的链接数

STAT listen_disabled_num 0
STAT threads 4 线程数

STAT conn_yields 0

STAT bytes 0 存储item字节数

STAT curr_items 0 item个数

STAT total_items 34 item总数

STAT evictions 0 为获取空间删除item的总数

另外一个例子:
启动/结束
memcached -d -m 10 -u root -l 192.168.0.122 -p 11200 -c 256 -P /tmp/memcached.pid

-d 选项是启动一个守护进程,

-m 是分配给Memcache使用的内存数量,单位是MB,这里是10MB

-u 是运行Memcache的用户,这里是root

-l 是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.122

-p 是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口

-c 选项是最大运行的并发连接数,默认是1024,这里设置了256,按照你服务器的负载量来设定

-P 是设置保存Memcache的pid文件
kill `cat /tmp/memcached.pid`

获取运行状态

echo stats | nc 192.168.1.123 11200

watch "echo stats | nc 192.168.1.123 11200" (实时状态)

② Memcached

Memcached报错:CLIENT_ERROR bad data chunk

这是因为存储的字节长度与指定的长度不匹配造成的,如:

set username 0 0 2

你是打算存储两个字节,但如果你输入不等于2个字节就会报

CLIENT_ERROR bad data chunk

错误,注意必须是2个,多于或少于2个字节都会报这个错误。

Ubuntu

sudo apt-get install memcached

sudo service memcached status/stop/start/restart

Linux下设置memcached访问IP

vim /etc/memcached.conf

注释掉-l 127.0.0.1

sudo service memcached restart

一、安装gcc

由于memcached和libevent是由C编写的,所以首先确保你的系统安装了gcc,如果没有安装,使用yum安装即可

$ yum -y install gcc

$ yum -y install gcc-c++

$ gcc --version

二、安装libevent

wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz

$ tar -xzf libevent-2.0.21-stable.tar.gz

$ cd libevent-2.0.21-stable

$ ./configure --prefix=/usr

$ make

$ make install

安装完后可以查看下/usr/lib是否有libevent等文件(ls -al /usr/lib | grep libevent)

#如果时间不对,需要修改系统时间

三、安装memcached

wget http://memcached.org/files/memcached-1.4.21.tar.gz

$ tar xzvf memcached-1.4.15.tar.gz

$ cd memcached-1.4.15

$ ./configure --with-libevent=/usr

$ make

$ make install

安装结果(ls -al /usr/local/bin/memcached)

四、启动memcached

memcached -d -m 512 -p 11211 -u root -c 256 -P /var/run/memcached.pid

五、关闭防火墙11211端口

$ vi /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT

$ service iptables restart

六、telnet访问

然后就可以使用telnet,来测试memcache的连接状态,如果没有安装telnet服务,可以执行

$ yum install telnet-server #安装服务

$ yum install telnet #安装命令

然后编辑vi /etc/xinetd.d/telnet文件,激活telnet,默认是禁用的,默认为yes,需要改成no

disable = no

然后重启服务,执行命令

$ service xinetd restart

然后就可以测试memcached的连接,执行命令

$ telnet 127.0.0.1 11211

输入stats,会输出memcache的一些连接信息,包括PID

如果需要退出,则执行quit命令即可

③ Linux下Memcached的安装步骤是什么呢

一、检查libevent
首先检查系统中是否安装了libevent
Shell代码
rpm -qa|grep libevent
如果安装了则查看libevent的闭纳安装路径,后续安装时需要用到
Shell代码
rpm -ql libevent
如果没有安装,则先安装libevent

安装libevent:
1.首先下载libevent安装包
Shell代码
wget http://www.monkey.org/~provos/libevent-1.4.12-stable.tar.gz
2.解压缩安装包
Shell代码
tar zxvf libevent-1.4.12-stable.tar.gz -C /usr/local/
3.进入解压后的目录
Shell代码
cd libevent-1.4.12-stable/
4.配置编译、安装
Shell代码
./configure -prefix=/usr/libevent
make
make install
安装完libevent之后为了让动态链接库为系统所共享,需要执行以下动态链接库的管理命令ldconfig
不过在执行ldconfig命令之前需要注意以下libevent的安装目录。具体参见:http://chenzhou123520.iteye.com/blog/1925196

安装完libevent后正式开始安装memcached
1.首先是下载memcached的安装包
Shell代码
wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz
2.修改安装包的执行操作权限
Shell代码
chmod 777 memcached-1.4.15.tar.gz
3.解压安装包到指定目录
Shell代码
tar zxvf memcached-1.4.15.tar.gz -C /usr/local
4.进入解压后的目录
Shell代码
cd /usr/local/memcached-1.4.15/
5.配置、编译、安装
注:configure时需要指定libevent的安装路径
Shell代码
./configure -with-libevent=/usr/libevent/ -prefix=/usr/local/memcached
make
make install
6.安装成功后启动一下看安装是否成功
Shell代码
/usr/local/memcached/bin/memcached -d -m 10m -p 11211 -u root
启动参数介绍如下:和上面的命令不对应
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是10MB,
-u是运行Memcache的用户,这里是root,
-l是监听的服务器IP地址,如果有轿灶没多个辩蔽地址的话,这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,这里设置了256,按照服务器的负载量来设定,
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid,也可以启动多个守护进程,不过端口不能重复。

如果要给memcached上配置日志,参见:http://chenzhou123520.iteye.com/blog/1925209

PS:附上一个memcached启动的shell脚本
Shell代码
#!/bin/sh
echo "Start to start memcached server $(date)..."

MEMCACHED=/usr/local/memcached/bin/memcached

usage()
{
echo "usage: `basename $0` port"
}

if [ -n "$1" ]
then
{
pid=`ps aux|grep memcached|grep "$1" |grep -v grep|awk '{print $2}'`
if [ -n "$pid" ]
then
{
sleep 2
echo "kill memcached which port is $1 begin"
echo "pid:$pid"
kill -9 $pid
echo "kill memcached which port is $1 end"
sleep 2
}
fi
echo "begin to start memcached in port $1"
LOG_FILE=/var/log/memcached/memcached_$1.log
rm -f $LOG_FILE
$MEMCACHED -d -m 2048 -p $1 -u root -vv >> $LOG_FILE 2>&1
echo "start memcached end"
tail -f $LOG_FILE
}
else
{
usage
exit 1
}
fi
把该脚本命名为startup.sh
执行:./startup.sh 11211
其中11211为memcached的启动端口,也可以通过自定义的端口来启动
查看是否启动:ps aux|grep memcached
查看版本 :
cd /etc/init.d/
memcached -h
或者:
[nihaoya@SHANGH-39-DX-APP ~]# telnet 127.0.0.1 11211

Trying 127.0.0.1...

Connected to 127.0.0.1.

Escape character is '^]'.

stats

④ Linux 上安装 memcached 的问题 新手请教

你的mc源代码包版本?

php 怎么配置memcached

分为linux和windows系统下:

windows下:

1、首先下载memcache的windows版本,将下载下来的文件解压出来后会看见一个名为memcached.exe的可执行程序

2、将该文件放到指定目录,如D盘

3、安装:

开始->运行->cmd打开命令窗口

进入D盘:cd d:

安装memcache服务:

在命令窗口输入:

memacahed.exe -d install

等待命令执行完成后,就可以在服务列表中看到memcached服务

4、启动memcache服务:

memcached.exe -d start

5、可以通过以下命令来查看memcache服务是否启动成功:

wmic process get description, executablepath | findstr memcached.exe

可以将memcached.exe的路径放入到系统环境变量中,方便使用。

查看memcache运行状态:

在命令窗口输入:

telnet 127.0.0.1 11211

链接到memcache上,输入stats就可以查看到当前memcache的状态了;

linux下:

1.下载memcache源码

http://www.memcached.org/

2.解压并进入目录

./configure --prefix=/usr/local/memcache
make
make test
sudo make install

3.启动memcache

memcache -d start -u root

验证memcache是否正确安装并启动

netstat -tap | grep memcached

4.安装memcache扩展库

下载memcache扩展

进入到memcache扩展文件

./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config
make
make install

修改php.ini文件 增加

extension=memcache.so

安装memcached扩展库

下载memcached扩展

memcached扩展需要libMemcached库的支持,所有在安装memcached扩展库之前要确认系统已经安装了libmemcached

安装libmemcached

./configure --prefix=/usr/local/memcache
make
make install

libmemcached安装完成后,就可以安装memcached扩展库

./configure --with-libmemcached-dir=/usr/local/memcached/ --with-php-config=/usr/local/php/bin/php-config
make
make install

同样修改php.ini配置文件,增加

extension=memcached.so

⑥ 如何配置Memcached服务器

Windows下的Memcache安装
1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached
2. 在终端(也即cmd命令界面)下输入 c:\memcached\memcached.exe -d install --安装memcached成为服务,这样才能正常运行,否则运行失败!

3. 再输入: c:\memcached\memcached.exe -d start --启动memcached的。

以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了。

Linux下的安装:
1.下载memcached和libevent,放到 /tmp 目录下
# cd /tmp
# wget http://www.danga.com/memcached/dist/memcached-1.2.0.tar.gz
# wget http://www.monkey.org/~provos/libevent-1.2.tar.gz
2.先安装libevent:
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure –prefix=/usr
# make
# make install
3.测试libevent是否安装成功:
# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3
-rw-r–r– 1 root root 454156 11?? 12 17:38 libevent.a
-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.la
lrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3

4.安装memcached,同时需要安装中指定libevent的安装位置:
# cd /tmp
# tar zxvf memcached-1.2.0.tar.gz
# cd memcached-1.2.0
# ./configure –with-libevent=/usr
# make
# make install
如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached ,
5.测试是否成功安装memcached:
# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached
-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debug

memcached的基本设置:
1.启动Memcache的服务器端:
# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是10MB,
-u是运行Memcache的用户,这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.200,
-p是设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,这里设置了256,按照你服务器的负载量来设定,
-P是设置保存Memcache的pid文件,这里是保存在 /tmp/memcached.pid,
2.如果要结束Memcache进程,执行:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,不过端口不能重复。
3.重启apache,service httpd restart

java的客户端连接程序:
将java_memcached-release_1.6.zip解压后的目录中的java_memcached-release_2.0.jar文件复制到java项目的lib目录下。

package utils.cache;
import java.util.Date;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;

/**
* 使用memcached的缓存实用类.
*/
public class MemCached
{
// 创建全局的唯一实例
protected static MemCachedClient mcc = new MemCachedClient();

protected static MemCached memCached = new MemCached();

// 设置与缓存服务器的连接池
static {
// 服务器列表和其权重
String[] servers = {"127.0.0.1:11211"};
Integer[] weights = {3};
// 获取socke连接池的实例对象
SockIOPool sockIOPool = SockIOPool.getInstance();
// 设置服务器信息
sockIOPool.setServers( servers );
sockIOPool.setWeights( weights );
// 设置初始连接数、最小和最大连接数以及最大处理时间
sockIOPool.setInitConn( 5 );
sockIOPool.setMinConn( 5 );
sockIOPool.setMaxConn( 250 );
sockIOPool.setMaxIdle( 1000 * 60 * 60 * 6 );
// 设置主线程的睡眠时间
sockIOPool.setMaintSleep( 30 );
// 设置TCP的参数,连接超时等
sockIOPool.setNagle( false );
sockIOPool.setSocketTO( 3000 );
sockIOPool.setSocketConnectTO( 0 );
//sockIOPool.setFailover(bFailover);
//sockIOPool.setAliveCheck(bAliveCheck);
// 初始化连接池
sockIOPool.initialize();
// 压缩设置,超过指定大小(单位为K)的数据都会被压缩
if (memCachedClient == null)
{
mcc = new MemCachedClient(sPoolName);
mcc.setCompressEnable(true);
mcc.setCompressThreshold(4096);
mcc.setPrimitiveAsString(true);
}
}
/*
<h3>基于Spring的配置,如下:</h3>
<pre>
<bean id="memCachedService" class="com.ms.memcached.MemCachedServiceImpl">
<constructor-arg index="0" value="${memcached.pool.name}" />
<constructor-arg index="1" value="${memcached.pool.servers}" />
<constructor-arg index="2" value="${memcached.pool.initConn}" />
<constructor-arg index="3" value="${memcached.pool.maxConn}" />
<constructor-arg index="4" value="${memcached.pool.minConn}" />
<constructor-arg index="5" value="${memcached.pool.socketTO}" />
<constructor-arg index="6" value="${memcached.pool.maintSleep}" />
<constructor-arg index="7" value="${memcached.pool.nagle}" />
<constructor-arg index="8" value="${memcached.pool.failover}" />
<constructor-arg index="9" value="${memcached.pool.aliveCheck}" />
</bean>
</pre>
<h3>利用com.MS.cache.properties来设置参数,如下:</h3>
<pre>
memcached.pool.name = MS
memcached.pool.servers = 192.168.9.132:12000,192.168.9.133:12000
memcached.pool.initConn = 128
memcached.pool.maxConn = 1024
memcached.pool.minConn = 20
memcached.pool.socketTO = 3000
memcached.pool.maintSleep = 30
memcached.pool.nagle = false
memcached.pool.failover = true
memcached.pool.aliveCheck = true
</pre>
*/

/**
* 保护型构造方法,不允许实例化!
*/
protected MemCached()
{

}

/**
* 获取唯一实例.
*/
public static MemCached getInstance()
{
return memCached;
}

/**
* 添加一个指定的值到缓存中.
* @param key
* @param value
*/
//新增指定key的缓存内容,但不覆盖已存在的内容。
public boolean add(String key, Object value)
{
return mcc.add(key, value);
}

//expiry过期时间
public boolean add(String key, Object value, Date expiry)
{
return mcc.add(key, value, expiry);
}

//新增或覆盖指定Key的缓存内容
public boolean set(String key, Object value)
{
return mcc.set(key, value);
}

//lExpiry过期时间
public boolean set(String key, Object value, long lExpiry)
{
return mcc.set(key, value, new Date(lExpiry));
}

//根据指定的Key获取缓存内容
public boolean get(String key)
{
return mcc.get(key);
}

//根据指定Key更新缓存内容
public boolean replace(String key, Object value)
{
return mcc.replace(key, value);
}

//lExpiry 指定的时间
public boolean replace(String key, Object value, long lExpiry)
{
return mcc.replace(key, value, new Date(lExpiry));
}
//根据指定Key删除缓存内容
public boolean delete(String key, Object value)
{
return mcc.delete(key, value);
}

//根据指定Key在指定时间后删除缓存内容
public boolean delete(String key, Object value, long lExpiry)
{
return mcc.delete(key, value, new Date(lExpiry));
}

//检测Cache中当前Key是否存在
public boolean exists(String key)
{
return mcc.exists(key);
}
//根据指定一批Key批量获取缓存内容。
/*
* @param sKeys 指定的一批Key。
* @return Object[oValue]
*/
public Object[] getMultiArray(String[] sKeys) throws ServiceException
{
return memCachedClient.getMultiArray(sKeys);
}
/**
* 根据指定一批Key批量获取缓存内容。
*
* @param sKeys 指定的一批Key。
* @return Map<sKey, oValue>
*/
public Map<String, Object> getMulti(String[] sKeys) throws ServiceException
{
return memCachedClient.getMulti(sKeys);
}

public static void main(String[] args)
{
MemCached memCached= MemCached.getInstance();
memCached.add("hello", 234);
System.out.print("get value : " + memCached.get("hello"));
}
}

那么我们就可以通过简单的像main方法中操作的一样存入一个变量,然后再取出进行查看,我们可以看到先调用了add,然后再进行get,我们运行一次 后,234这个值已经被我们存入了memcached的缓存中的了,我们将main方法中红色的那一行注释掉后,我们再运行还是可以看到get到的 value也是234,即缓存中我们已经存在了数据了。
对基本的数据我们可以操作,对于普通的POJO而言,如果要进行存储的话,那么比如让其实现java.io.Serializable接口,因为 memcached是一个分布式的缓存服务器,多台服务器间进行数据共享需要将对象序列化的,所以必须实现该接口,否则会报错的。
Entity
/**
* 获取当前实体的缓存Id
*
* @return
*/
public String getCacheId()
{
return getCacheId(this.getClass(), sBreedId);
}

get
public Breed getBreedById(String sBreedId) throws ServiceException
{
Breed breed = (Breed)memCachedService.get(getCacheId(Breed.class, sBreedId));

if(breed == null)
{
breed = service.get("breed.getBreedById", sBreedId);

if(breed != null)
{
memCachedService.set(breed.getBreedId(), breed);
}
}

return breed;
}

save
memCachedService.set(spider.getCacheId(), breed);

update
memCachedService.replace(spider.getCacheId(), breed);

remove
memCachedService.delete(getCacheId(Spider.class, IbreedId));

memCachedService.delete(breed.getCacheId());
listAll
public List listAll() throws ServiceException
{
List breeds = new ArrayList ();

List breedIds = (List)memCachedService.get(getKeyByMap("Breed", null));

if(ObjectUtils.isEmpty(breedIds))
{
breeds = service.list("breed.getAllBreed", null);

if (!ObjectUtils.isEmpty(breeds))
{
breedIds = new ArrayList();

for (Breed breed : breeds)
{
breedIds.add(breed.getBreedId());
}

memCachedService.set(getKeyByMap("Breed", null), breedIds);
}
}
else
{
for (String sBreedId : breedIds)
{
Breed breed = getBreedById(sBreedId);

if (breed != null)
{
breeds.add(breed);
}
}
}

return breeds;
}

⑦ 在linux环境下安装好memadmin不能登录怎么解决

1.1 MemAdmin介绍
MemAdmin是一款可视化的Memcached管理与监控工具,使用PHP开发,体积小,操作简单。
主要功能:
服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新
服务器性能监控:GET、DELETE、INCR、DECR、CAS等常用操作命中率实时监控
支持数据遍历,方便对存储内容进行监视
支持条件查询,筛选出满足条件的KEY或VALUE
数组、JSON等序列化字符反序列显示
兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外)
支者庆持服务器连接池,多服务器管理切换方便简洁
1.1.1 安装过程
MemAdmin是Memcached的管理控制台,因为该程序是php语言写的,所以要配置apache与php服务,以及memcached在php的扩展包,该安装所用程序包版本:
php-pear-1.9.4-4.el6.noarch.rpm
php-pecl-memcache-3.0.5-4.el6.x86_64.rpm
memadmin-1.0.12.tar.gz
1.1.1.1 安装apache服务
安装首敏握linux时选择安装apache服务器
1.1.1.2 安装php服务
安装linux时选择安装PHP服务
1.1.1.3 安装memcached在php的扩展
A:安装扩展包
RPM –ivh php-pear-1.9.4-4.el6.noarch.rpm
RPM –ivh php-pecl-memcache-3.0.5-4.el6.x86_64.rpm
B: 修改php.ini配置文件
vi /etc/php.ini
在php.ini配置文件里面追加extension = memcached.so,让php支持memcached
C: 重启apache服务
service httpdrestart
1.1.1.4 安装MemAdmin程序
A:安装memAdmin程序包
tar –zxvf memadmin-1.0.12.tar.gz
mv memadmin /var/www/html

B: 修改/etc/httpd/conf/httpd.conf配置文件
vi /etc/httpd/conf/httpd.conf
修改如下:
1.DocumentRoot "/var/www/html"拿棚
2.DirectoryIndex index.html index.html.varindex.php
3.
<Directory"/var/www/html">
cumentRoot"/var/www/html"
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

c.修改selinux配置
vi /etc/selinux/config
设置SELINUX=disabled

以上步骤完成后,可以在浏览器输入http://192.168.222.128/memAdmin/index.php,用户密码均默认为admin,如果要修改用户、密码可以通过/var/www/html/memAdmin/config.php文件进行修改

⑧ LINUX memcache 没有./configure 怎么安装啊

tar zxf untar/memcache-3.0.6.tgz
cd memcache-3.0.6/
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

⑨ linux 怎么启动memcache

MemCache是高性能分布式内存对象缓存系统(将数据调用到内存中,然后在内存中读取,从而大大提高读取速度)
Memcached安装与启动:
安装memcached需要先安装libevent
Shell>tar zxvf libevent-1.4.14b-stable.tar.gz
Shell>cd libevent-1.4.14b-stable
Shell>./configure
Shell>make && make install

安装memcached
Shell>tar zxvf memcached-1.2.5.tar.tar
Shell>cd memcached-1.2.5
Shell>./configure –prefix=/usr/local/memcached
Shell>make && make install
启动memcached
Shell>/usr/local/memcached/bin/memcached –p 11211 –d –u root –P /tmp/memcached.pid
-P是表示使用TCP,默认端口为11211
-d表示后台启动一个守护进程(daemon)
-u表示指定root用户启动,默认不能用root用户启动
-P表示进程的pid存放地点,此处“p”为大写“P”
-l,后面跟IP地址,手工指定监听IP地址,默认所有IP都在监听
-m后面跟分配内存大小,以MB为单位,默认为64M
-c最大运行并发连接数,默认为1024
-f 块大小增长因子,默认是1.25
-M 内存耗尽时返回错误,而不是删除项,即不用LRU算法

阅读全文

与linuxmemcached安装配置相关的资料

热点内容
u点服务器wifi密码如何设置 浏览:864
宝马x5大灯编程 浏览:673
python安装和使用 浏览:381
加密的门禁卡复制了用不了 浏览:714
javacsv读写 浏览:806
ug编程教程pdf 浏览:763
latex编译软件安卓版 浏览:248
如何在信合app上交居民医保 浏览:109
丑恶pdf 浏览:365
陕西定频压缩机销售公司 浏览:795
安卓系统如何帮人打王者 浏览:427
sbtlinux安装 浏览:141
阿里云sip服务器 浏览:73
身为程序员的你怎么拼命 浏览:453
android图片手势放大 浏览:586
钱的所有算法 浏览:13
光模块服务器怎么直接连电脑 浏览:376
编译器识别单词 浏览:344
2b2t服务器怎么获得金苹果 浏览:344
SQL如何进行服务器配置 浏览:175