前言:
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。如今已经成为web开发社区中最火热的内存数据库之一。它通过提供多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存、队列系统等不同的角色。
部署redis:
1.首先从官网下载一个redis安装包 http://www.redis.io/download
2.root#tar xvzf redis-2.8.13.tar.gz
3.root#make && make test && make install
4.可能提示缺少tcl,安装它 root#wget http://prdownloads.sourceforge.net/tcl/tcl8.5.15-src.tar.gz
5.在/etc和/var目录下分别创建/etc/redis和/var/redis/6379目录,前者用来存放配置文件,后者用来存放持久化文件
6.修改配置文件
root#mv ~/redis-2.8.13/redis.conf /etc/redis/
并修改redis.conf中以下内容
daemonize yes #后台启动
pid_file /var/run/redis_6379.pid #设置pid_file的位置
dir /var/redis/6379 #持久化文件的路径
7.启动:启动分两种方式
1)直接启动 root#redis-server
2)后台启动
root#mv ~/redis-2.8.13/utils/redis_init_script /etc/init.d/redis_init_script_6379
root#/etc/init.d/redis_init_script_6379 start
8.关闭redis
root#redis-cli shutdown
搭建redis主从:
1.准备2个redis实例,一个作为主库,一个作为从库
2.修改从库的配置文件,添加一行
“slaveof 主库IP 主库端口”
3.启动从库即可
redis数据库的优势:
1.和memcached相比,支持更丰富的数据类型(字符串类型、散列类型、列表类型、集合类型、有序集合类型)。
2.可以将数据持久化存储到硬盘。
3.系统设计简洁,使用简单稳定。
4.支持主从复制,方便的进行读写分离。
5.使用范围广泛:内存数据库、缓存、队列系统。
6.支持事务处理。
7.支持生存时间,键值如果到期则自动删除,可以用来实现一些功能:比如缓存、验证码、限时抢购。
8.支持排序功能,使用场景示例:博客按时间排序。
9.支持消息队列,使用场景示例:rss订阅、消息推送。
10.支持lua脚本。
11.3.0版本后开始支持cluster。
redis不支持的功能:
1.不支持数据类型嵌套 比如集合不能嵌套另一个集合或散列表。
2.不支持列式存储。
参考资料:
1.《redis入门指南》 李子骅 编著
2.Redis集群服务器-高可用调研随笔 http://snowolf.iteye.com/blog/1657488