NoSQL系列比较流行的一款开源软件,对于NoSQL的了解可参见文章《NoSQL数据库面面观》
具体安装配置流程如下:
1.下载resis包http://redis.io/download
2.上传到服务器
3.解压编译
$ tar xzf redis-2.8.0.tar.gz
$ cd redis-2.8.0
$ make
这里可能会出现一个错误:
zmalloc.o:在函数‘zmalloc_used_memory’中:
/opt/redis-2.6.16/src/zmalloc.c:223:对‘__sync_add_and_fetch_4’未定义的引用
collect2:ld returned 1 exit status
make[1]:*** [redis-server]错误1
make[1]:Leaving directory `/opt/redis-2.6.16/src'
make:*** [all]错误2
需要修改/usr/redis/redis-2.6.14/src目录下的.make-settings文件,将OPT=-02改成OPT=-02-march=i686,保存退出之后再重新执行make命令
然后执行
#make test
可能会报错:
Youneed tcl 8.5 or newer in order to run the Redis test
make:*** [test] Error 1
解决办法安装tcl
wget http://downloads.sourceforge.net/tcl/tcl8.6.0-src.tar.gz
cd tcl8.6.0/
cd unix
./configure--prefix=/usr \
--mandir=/usr/share/man\
--without-tzdata\
$([$(uname -m) = x86_64 ] && echo --enable-64bit) &&
make
sed-e "s@^\(TCL_SRC_DIR='\).*@\1/usr/include'@" \
-e"/TCL_B/s@='\(-L\)\?.*unix@='\1/usr/lib@" \
-itclConfig.sh
makeinstall
makeinstall-private-headers
ln-v -sf tclsh8.6 /usr/bin/tclsh
chmod-v 755 /usr/lib/libtcl8.6.so
然后进入redis-2.6.16/src目录,执行:
makeinstall
编译成功,生产redis相关程序(绿色显示);
然后把程序移到到/usr/local下面去便于管理:
#mkdir -p /usr/local/redis/bin
#mkdir -p /usr/local/redis/etc
把程序命令和配置文件都移动过去:
#mv ./redis.conf /usr/local/redis/etc/
#cd src/
#mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin/
启动:
./redis-server
编辑/usr/local/redis/etc/redis.conf其中值修改为如下:
daemonize yes
可实现后台启动
#./redis-server /usr/local/redis/etc/redis.conf
登陆客户端
#./redis-cli
测试一下:
redis127.0.0.1:6379> set test hello
OK
redis127.0.0.1:6379> get test
"hello"
停止redis:
#pkill redis-server
检查服务是否启动,直接查看进程即可:
#ps -ef | grep redis
root 18350 1 0 17:26 ? 00:00:00 ./redis-server/usr/local/redis/etc/redis.conf
root 18355 10290 0 17:27 pts/1 00:00:00 grep redis
下面是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等待系统自己同步)
这时你可以打开一个终端进行测试了,配置文件中默认的监听端口是6379