redis安装
$ wget http://download.redis.io/releases/redis-2.8.7.tar.gz
$ tar xzf redis-2.8.7.tar.gz
$ cd redis-2.8.7
$ make
make命令执行完成后,会在当前目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用如下:
- redis-server:Redis服务器的daemon启动程序
- redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
- redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
- redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况
在后面会有这几个命令的说明,当然是从网上抄的。。。
==修改配置文件
添加
刷新配置使之生效
补充介绍:
**如果内存情况比较紧张的话,需要设定内核参数:
echo 1 > /proc/sys/vm/overcommit_memory
内核参数说明如下:
overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
**编辑redis.conf配置文件(/etc/redis.conf),按需求做出适当调整,比如:
daemonize yes #转为守护进程,否则启动时会每隔5秒输出一行监控信息
save 60 1000 #减小改变次数,其实这个可以根据情况进行指定
maxmemory 256000000 #分配256M内存
在我们成功安装Redis后,我们直接执行redis-server即可运行Redis,此时它是按照默认配置来运行的(默认配置甚至不是后台运 行)。我们希望Redis按我们的要求运行,则我们需要修改配置文件,Redis的配置文件就是我们上面第二个cp操作的redis.conf文件,目前 它被我们拷贝到了/usr/local/redis/etc/目录下。修改它就可以配置我们的server了。如何修改?下面是redis.conf的主 要配置参数的意义:
- daemonize:是否以后台daemon方式运行
- pidfile:pid文件位置
- port:监听的端口号
- timeout:请求超时时间
- loglevel:log信息级别
- logfile:log文件位置
- databases:开启数据库的数量
- save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
- rdbcompression:是否使用压缩
- dbfilename:数据快照文件名(只是文件名,不包括目录)
- dir:数据快照的保存目录(这个是目录)
- appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
- appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
下面是一个略做修改后的配置文件内容:
daemonize yes
pidfile /usr/local/redis/var/redis.pid
port 6379
timeout 300
loglevel debug
logfile /usr/local/redis/var/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /usr/local/redis/var/
appendonly no
appendfsync always
glueoutputbuf yes
shareobjects no
shareobjectspoolsize 1024
将上面内容写为redis.conf并保存到/usr/local/redis/etc/目录下
然后在命令行执行:
1 | /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf |
即可在后台启动redis服务,这时你通过
1 | telnet 127.0.0.1 6379 |
即可连接到你的redis服务。
====、启动服务并验证
启动服务器
或
$redis-server /etc/redis.conf
查看是否成功启动
$ ps -ef | grep redis
或
./redis-cli ping
PONG
===、启动命令行客户端赋值取值
./redis-cli get mykey
===、关闭服务
$ redis-cli shutdown
#关闭指定端口的redis-server
$redis-cli -p 6380 shutdown
===、客户端也可以使用telnet形式连接。
[root@dbcache conf]# telnet 127.0.0.1 6379
Trying 127.0.0.1...
Connected to dbcache (127.0.0.1).
Escape character is '^]'.
set foo 3
bar
+OK
get foo
$3
bar
^]
telnet> quit
Connection closed.
=======================================================================================================
JMagick安装
环境:
yum -y install perl-devel perl-CPAN gcc* gcc-c++ zlib* libx*
*-----------/
*安装libtool*
./configure
make
make instll
*安装jpeg包:
http://www.ijg.org/files/jpegsrc.v6b.tar.gz
tar -zvxf jpegsrc.v6b.tar.gz
cd jpeg-6b/
cp /usr/share/libtool/config.sub .
cp /usr/share/libtool/config.guess .
./configure --enable-shared --enable-static
make
mkdir -p /usr/local/man/man1
make install
*安装png包:先在http://sourceforge.net/projects/libpng/上下载最新的libpng包
tar -xzvf libpng-1.5.3
(如果遇到“[coders/coders_png_la-png.lo] 错误 1”要安装低版本的,不能安装高版本的)
cd libpng-1.2.12
yum install -y zlib
./ipconfigure
make
make install
*编译并安装tiff格式支持文件,
tar zvxf tiff-3.8.2.tar.gz
./configure
make
make install
wget http://downloads.jmagick.org/6.4.0/ImageMagick-6.4.0-0.tar.gz
cd ImageMagick-6.7.0
vi ./configure
然后找到下面这三个
--without-jpeg disable JPEG support
--without-png disable PNG support
--without-tiff disable TIFF support
改成
--without-jpeg=false disable JPEG support
--without-png=false disable PNG support
--without-tiff=false disable TIFF support
=====================================================================
[magick/libMagickCore.la] Error 1
yum install libx* -y
=====================================================================
./configure -with-quantum-depth=8 LDFLAGS='-L/usr/local/lib -ljpeg' --prefix=/opt/ImageMagick --enable-share -enable-static
make all
make install
================================================================================
问题
Can't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl
/usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at Makefile.PL line 1.
BEGIN failed--compilation aborted at Makefile.PL line 1.
解决方法如下:
yum -y install perl-devel
yum -y install perl-CPAN
-------------------------------------
检查/etc/ld.so.conf中的库文件路径是否正确,如果库文件不是使用系统路径,/usr/lib, /usr/local/lib, 那么必须在文件中加入。
================================================================================
使用convert 看看是否可以转换文件
测试:convert -geometry 600x200 1503.jpg 1503_small.gif
wget http://downloads.jmagick.org/6.4.0/jmagick-6.4.0-src.tar.gz
安装JMagick包
tar xzvf jmagick-6.4.0.tar.gz
(# chmod * 否则这个包内的文件无权限执行)
autoconf
./configure --prefix=/opt/JMagick --with-magick-inc-dir=/opt/ImageMagick/include/ImageMagick/ --enable-share --enable-static --with-java-
home=/usr/java/jdk1.7.0_45/ --with-magick-home=/opt/ImageMagick/
make all
make install
(
测试JMagick,在test包里有Test.java 环境变量生效后再测试
# make test
# make javadoc
)
========================================================
这样就安装完成,接下来的就是配置环境变量。
vi /etc/profile
关于java的环境变量,此文http://blog.sina.com.cn/u/4964dd65010005sb有更详细的说明
加入:
JAVA_HOME="/usr/java/jdk6"(您自己的jdk地址)
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
(这行不要:export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar)
export PATH=$PATH:/opt/ImageMagick/bin:/opt/ImageMagick/lib
export LD_LIBRARY_PATH=:/opt/JMagick/lib:/opt/ImageMagick/lib
export DYLD_LIBRARY_PATH=:/opt/JMagick/lib:/opt/ImageMagick/lib
export CLASSPATH=$CLASSPATH:/opt/JMagick/lib
==========================================================================
测试通过的配置:
export JAVA_HOME=/usr/java/jdk1.7.0_51
export CLASSPATH=.:$JAVA_HOME/jre/lib/:$JAVA_HOME/lib/:/opt/ImageMagick/lib
export PATH=$PATH:$JAVA_HOME/bin:/opt/ImageMagick/bin:/opt/JMagick/lib
export LD_LIBRARY_PATH=:/opt/JMagick/lib:/opt/ImageMagick/lib
export DYLD_LIBRARY_PATH=:/opt/JMagick/lib:/opt/ImageMagick/lib
export CLASSPATH=$CLASSPATH:/opt/JMagick/lib
===========================================================================
执行命令:
ldconfig
将ImageMagick的库加入系统联接库
然后注销当前用户重新登录,便于环境变量修改生效,执行:convert logo: logo.gif
看是否正确生成一个logo.gif的图片文件。
=======================================================
如果要在Web Application Server(Resin,Tomcat),需要再运行时加入参数: -Djmagick.systemclassloader=no
或者在程序中写入:System.setProperty("jmagick.systemclassloader", "no");
命令行使用方法:
convert -resize 100x200 22.jpg(图片路径) 11.jpg(缩放后存放路径) 图片按比例缩放
convert -resize 100x200\! 22.jpg(图片路径) 11.jpg(缩放后存放路径) 强制按给定的宽高缩放
convert -crop 100(长)x200(高)+10(x坐标)+10(y坐标) 22.jpg(图片路径) 11.jpg(缩放后存放路径) 裁剪图片
----------------------------------------------------------------
如果还是不行.执行以下操作:
cp /opt/6.4.0/lib/jmagick.jar /usr/java/jdk1.7.0_51/jre/lib/ext/
cp /opt/6.4.0/lib/libJMagick-6.4.0.so /usr/java/jdk1.7.0_51/jre/lib/amd64/libJMagick.so
==================================
让大家分享一下,本人经过两天的学习,终于将最新版的ImageMagick与JMagick安装成功
作者:雷喜青
1、System.out.println(System.getProperty("java.library.path")).
直接用System.out.println(System.getProperty("java.library.path")).
打印出当前环境的路径,然后再把jmagick.dll或jmagick.so 复制到其中的一个路径文件夹中问题解决。
2、magick.MagickException: No image to scale
版本不匹配,要像下面这们,都是同一个版本号
ImageMagick-6.4.0-0.tar.gz
jmagick-6.4.0-src.tar.gz
3、magick.MagickException: Unable to retrieve handle
要调用 magick.MagickImage.destroyImages() 来关闭
4、no decode delegate for this image format
使用:identify -list format
判断有支持几种图片格式,没有的则需要安装对应的格式库
5、单线程转换每张图片大概50ms,两个线程却需要500ms
用convert --version 命令查看
看是否出现openMP字样,出现的话,是因为机器不支持openMP导致的。
需要重新编译./configure --disable-openmp 在进行安装
首先检查一下电脑里已经安装的ImageMagick版本:
convert -version
6、Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\WINDOWS\system32\jmagick.dll: Can't find dependent libraries
我在Windows xp上按照上面的流程安装完成,按理说应该没有问题了,但出现了以上错误。
我打开Eclipse已工作数个小时,然后在开发机器(我本机)Windows xp上安装ImageMagick-6.3.9-0-Q16-windows-dll.exe。也把jmagick.dll放入system32,在你的
java项目中使用jmagick.jar包处理图片。
就这么几步当然不会错,但在运行程序时还是出现了上面的错误。
解决:重启Eclipse。加载新的环境变量。