许多Web应用程序都将数据保存到RDBMS中,应用服务器从中读取数据并在浏览器中显示。但随着数据量的增大,访问的集中,就会出现REBMS的负担加重,数据库响应恶化,网站显示延迟等重大影响。Memcached是高性能的分布式内存缓存服务器。一般的使用目的是通过缓存数据库查询结果,减少数据库的访问次数,以提高动态Web 应用的速度、提高扩展性.
【引自asd1123509133的博客】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. 环境
3 安装(/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
4. 配置文件(当前还在redis源码目录[/usr/local/src/redis-3.2.8]内)
cp redis.conf /etc/redis.conf
编辑/etc/redis.conf
daemonize no ==> daemonize yes (设置redis为后台daemon进程)
5. 创建redis用户
- [root@redis-server~]#useradd-r-s/sbin/nologin-Mredis
6. 创建启动脚本/etc/init.d/redis
- #!/bin/sh
- #
- #redisinitfileforstartinguptheredisdaemon
- #
- #chkconfig:-2080
- #description:Startsandstopstheredisdaemon.
- #Sourcefunctionlibrary.
- #!/bin/sh
- #
- #redisinitfileforstartinguptheredisdaemon
- #
- #chkconfig:-2080
- #description:Startsandstopstheredisdaemon.
- #Sourcefunctionlibrary.
- ./etc/rc.d/init.d/functions
- name="redis-server"
- exec="/usr/local/redis/bin/$name"
- pidfile="/var/run/redis/redis.pid"
- REDIS_CONFIG="/etc/redis.conf"
- [-e/etc/sysconfig/redis]&&./etc/sysconfig/redis
- lockfile=/var/lock/subsys/redis
- start(){
- [-f$REDIS_CONFIG]||exit6
- [-x$exec]||exit5
- echo-n$"Starting$name:"
- daemon--user${REDIS_USER-redis}"$exec$REDIS_CONFIG"
- retval=$?
- echo
- [$retval-eq0]&&touch$lockfile
- return$retval
- }
- stop(){
- echo-n$"Stopping$name:"
- killproc-p$pidfile$name
- retval=$?
- echo
- [$retval-eq0]&&rm-f$lockfile
- return$retval
- }
- restart(){
- stop
- start
- }
- reload(){
- false
- }
- rh_status(){
- status-p$pidfile$name
- }
- rh_status_q(){
- rh_status>/dev/null2>&1
- }
- case"$1"in
- start)
- rh_status_q&&exit0
- $1
- ;;
- stop)
- rh_status_q||exit0
- $1
- ;;
- restart)
- $1
- ;;
- reload)
- rh_status_q||exit7
- $1
- ;;
- force-reload)
- force_reload
- ;;
- status)
- rh_status
- ;;
- condrestart|try-restart)
- rh_status_q||exit0
- restart
- ;;
- *)
- echo$"Usage:$0{start|stop|status|restart|condrestart|try-restart}"
- exit2
- esac
- exit$?
7. 修改脚本文件权限
- [root@redis-server~]#chmod755/etc/init.d/redis
8. 添加进service服务管理并设置开机启动
- [root@redis-server~]#chkconfig--addredis
- [root@redis-server~]#chkconfigredison
9. redis服务测试
- serviceredisstart
10. 连接测试(通过自带redis-cli命令连接测试)
- [root@redis-server~]#/usr/local/redis/bin/redis-cli-h127.0.0.1-p6379
连接测试成功
11. 总结
以需求驱动技术,技术本身没有优略之分,只有业务之分。
©本文为清一色官方代发,观点仅代表作者本人,与清一色无关。清一色对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文不作为投资理财建议,请读者仅作参考,并请自行承担全部责任。文中部分文字/图片/视频/音频等来源于网络,如侵犯到著作权人的权利,请与我们联系(微信/QQ:1074760229)。转载请注明出处:清一色财经