1. 背景
前一章介绍了memecached安装,此次介绍NoSQL另一款明星产品----->redis.
许多Web 应用程序都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大,访问的集中,就会出现REBMS的负担加重,数据库响应恶化,网站显示延迟等重大影响。Memcached是高性能的分布式内存缓存服务器。一般的使用目的是通过缓存数据库查询结果,减少数据库的访问次数,以提高动态Web 应用的速度、提高扩展性.
* redis比memcached优势
丰富的数据类型: redis支持二进制的string list hashe set zset五大基础数据类型存储.
原子性:redis的所有操作都是原子性的,同时redis还支持对几个操作全并后的原子性执行.
消息订阅: redis支持publish/subscribe。
持久化存储数据: redis支持Aof与RDB两种数据持久化支持.
2. 环境
4. 安装(/usr/local/src)
下载: wget http://download.redis.io/releases/redis-3.2.8.tar.gz
解压: tar zxvf redis-3.2.8.tar.gz
进入目录: cd redis-3.2.8
编译并指定安装目录: make PREFIX=/usr/local/redis-3.2.8 install
创建软链接: ln -s /usr/local/redis-3.2.8 /usr/local/redis
5. 配置文件(当前还在redis源码目录[/usr/local/src/redis-3.2.8]内)
cp redis.conf /etc/redis.conf
编辑/etc/redis.conf
daemonize no ==> daemonize yes (设置redis为后台daemon进程)
6. 创建redis用户
[root@redis-server ~]# useradd -r -s /sbin/nologin -M redis
7. 创建启动脚本/etc/init.d/redis
#!/bin/bash
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig: - 80 12
# description: Redis is a persistent key-value database
# processname: redis-server
# config: /usr/local/redis/etc/redis.conf
# pidfile: /usr/local/redis/var/redis.pid
source /etc/init.d/functions
BIN="/usr/local/redis/bin"
CONFIG="/usr/local/redis/etc/redis.conf"
PIDFILE="/usr/local/redis/var/redis.pid"
### Read configuration
[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"
RETVAL=0
prog="redis-server"
desc="Redis Server"
start() {
if [ -e $PIDFILE ];then
echo "$desc already running...."
exit 1
fi
echo -n $"Starting $desc: "
daemon $BIN/$prog $CONFIG
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n $"Stop $desc: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE
return $RETVAL
}
restart() {
stop
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
[ -e /var/lock/subsys/$prog ] && restart
RETVAL=$?
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=1
esac
exit $RETVAL
8. 修改脚本文件权限
[root@redis-server ~]# chmod 755 /etc/init.d/redis
9. 添加进service服务管理并设置开机启动
[root@redis-server ~]# chkconfig --add redis
[root@redis-server ~]# chkconfig redis on
10. redis服务测试
service redis start
11. 连接测试(通过自带redis-cli命令连接测试)
[root@redis-server ~]# /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379
连接测试成功
12. 总结
以需求驱动技术,技术本身没有优略之分,只有业务之分。