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用户
1
|
[root@redis-server ~]
# useradd -r -s /sbin/nologin -M redis
|
7. 创建启动脚本/etc/init.d/redis
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
#!/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. 修改脚本文件权限
1
|
[root@redis-server ~]
# chmod 755 /etc/init.d/redis
|
9. 添加进service服务管理并设置开机启动
1
2
|
[root@redis-server ~]
# chkconfig --add redis
[root@redis-server ~]
# chkconfig redis on
|
10. redis服务测试
1
|
service redis start
|
11. 连接测试(通过自带redis-cli命令连接测试)
1
|
[root@redis-server ~]
# /usr/local/redis/bin/redis-cli -h 127.0.0.1 -p 6379
|
连接测试成功
12. 总结
以需求驱动技术,技术本身没有优略之分,只有业务之分。