Redis概述
- Redis是一个开源,先进的key-value存储,并用于构建高性能,可扩展的应用程序的完美解决方案。
- Redis从它的许多竞争继承来的三个主要特点:
- Redis数据库完全在内存中,使用磁盘仅用于持久性。
- 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型。String,List,set,map,sortSet
- Redis可以将数据复制到任意数量的从服务器。
Redis 优势
- 异常快速:Redis的速度非常快,每秒能执行约11万集合,每秒约81000+条记录。
- 支持丰富的数据类型:Redis支持字符串、列表、集合、有序集合散列数据类型,这使得它非常容易解决各种各样的问题。
- 操作都是原子性:所有Redis操作是原子的,这保证了如果两个客户端同时访问的Redis服务器将获得更新后的值。----计数器
- 多功能实用工具:Redis是一个多实用的工具,可以在多个用例如缓存,消息,队列使用(Redis原生支持发布/订阅),任何短暂的数据,应用程序,如Web应用程序会话,网页命中计数等。
Redis安装部署
下载redis3.0.5,解压
首先安装gcc编译器(普通用户):sudo yum -y install gcc gcc-c++
进入解压的redis目录
1.编译redis源码:输入make(要先安装gcc)
未安装gcc会报如下错误:
2.将编译后的可执行文件安装到/home/dummy/app/redis_install
make PREFIX=/home/dummy/app/redis_install install
3.进入安装的/home/dummy/app/redis_install
从之前解压的redis目录里将redis.conf拷贝到redis_install
修改配置文件redis.conf
daemonize yes
pidfile /home/dummy/app/redis_install/logdir/redis.pid
port 6379
logfile "/home/dummy/app/redis_install/logdir/redis.log"
dir /home/dummy/app/redis_install/data
保存返回redis_install目录,新建logdir和data目录
mkdir logdir ;mkdir data
启动:bin/redis-server redis.conf
查看是否启动成功:bin/redis-cli,然后ping
ping之后看到PONG代表安装成功了!
日志文件及持久化文件配置
修改生成默认日志文件位置
logfile "/usr/local/redis/logs/redis.log"
配置持久化文件存放位置
dir /usr/local/redis/data/redisData
Redis持久化
有两种持久化方案:RDB和AOF
1) RDB方式按照一定的时间间隔对数据集创建基于时间点的快照。
2)AOF方式记录Server收到的写操作到日志文件,在Server重启时通过回放这些写操作来重建数据集。该方式类似于MySQL中基于语句格式的binlog。当日志变大时Redis可在后台重写日志。
- AOF持久化配置
1)修改redis.config配置文件,找到appendonly。默认是appendonly no。改成appendonly yes
2)再找到appendfsync 。默认是 appendfsync everysec
appendfsync always
#每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用
appendfsync everysec
#每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐
appendfsync no
#完全依赖os,性能最好,持久化没保证
- lRDB持久化配置
默认情况下,Redis保存数据集快照到磁盘,名为dump.rdb的二进制文件。可以设置让Redis在N秒内至少有M次数据集改动时保存数据集,
或者你也可以手动调用SAVE或者BGSAVE命令。
例如,这个配置会让Redis在每个60秒内至少有1000次键改动时自动转储数据集到磁盘
save 60 1000