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命令即可