redis介绍
redis是非关系型数据库,即NoSql数据库
存储的数据模型是key-value
特点是访问速度快,所以可以作为缓存使用。
为什么快?Redis把数据存放到内存中,内存的读写速度比硬盘的读写速度快
持久化方案(了解)
1. RDB 快照
RDB是在某个时间点将数据写入一个临时文件,持久化结束后,用这个临时文件替换上次持久化的文件,达到数据恢复。
优点:使用单独子进程来进行持久化,主进程不会进行任何IO操作,保证了redis的高性能
缺点:RDB是间隔一段时间进行持久化,如果持久化之间redis发生故障,会发生数据丢失。所以这种方式更适合数据要求不严谨的时候。
2. AOF 保存命令日志
Append-only file,将“操作 + 数据”以格式化指令的方式追加到操作日志文件的尾部,在append操作返回后(已经写入到文件或者即将写入),才进行实际的数据变更,“日志文件”保存了历史所有的操作过程;当server需要数据恢复时,可以直接replay此日志文件,即可还原所有的操作过程。AOF相对更加可靠,AOF文件内容是字符串,非常容易阅读和解析。
优点:可以保持更高的数据完整性,如果设置追加file的时间是1s,如果redis发生故障,最多会丢失1s的数据;且如果日志写入不完整支持redis-check-aof来进行日志修复;AOF文件没被rewrite之前(文件过大时会对命令进行合并重写),可以删除其中的某些命令(比如误操作的flushall)。
缺点:AOF文件比RDB文件大,且恢复速度慢。
支持多种数据类型(redis存储数据方式为:key=value,这里说的支持的类型说的是value):
1、String类型。
2、Hash类型。
3、List类型。所有元素是有序的
4、Set类型。元素是无序的,元素是不能重复。
5、SortedSet(zset)有序的set,元素不能重复并且有序。
redis是单线程,它能帮我们解决问题吗?
官方的一个简单测试:
测试完成了50个并发执行100000个请求。
操作:设置和获取的值是一个256字节字符串。
结果:读的速度是110000次/s,写的速度是81000次/s
这个读写速度非常非常快,如果觉得还不够用的话,可以集群。
redis单机版安装
1.环境准备
redis安装在Linux上,redis是c语言开发的,需要gcc-c++环境
查看是否安装gcc-c++
[[email protected] ~]# rpm -qa | grep gcc-c++
gcc-c++-4.4.7-17.el6.i686
如果没有安装,可以使用yum命令进行网络安装
[[email protected] ~]# yum install gcc-c++
2.上传安装包
在Linux的CRT客户端,按alt+p进行上传,可以直接把安装包拖动上去
进入root目录,查看上传包
[[email protected] ~]# ll
3.解压安装包
[[email protected] ~]# tar -zxvfredis-3.0.2.tar.gz
4.执行安装
进入解压的文件夹,进行编译
[[email protected] ~]# cd redis-3.0.2
[[email protected] redis-3.0.2]# make
成功效果:
执行安装,指定安装路径. PREFIX需要大写
[[email protected] redis-3.0.2]# make installPREFIX=/usr/local/redis
成功效果:
5.查看安装目录
进入目录
[[email protected] redis-3.0.2]# cd/usr/local/redis/bin/
[[email protected] redis-3.0.2]# ll
常用的是客户端和服务端
redis-cli 是客户端
redis-server 是服务端
6.启动redis
启动命令
[[email protected] bin]# ./redis-server
确认redis安装正常,效果:
7.修改为后端启动
从安装包中复制redis.conf文件到/usr/local/redis/bin中
[[email protected] bin]# cp /root/redis-3.0.2/redis.conf/usr/local/redis/bin
修改redis.conf配置文件,修改为yes
[[email protected] bin]# vim redis.conf
按shift+: 输入内容set nu回车 ----->进入笔行模式(进入笔行模式后就可以通过行号查找内容,输入:30回车跳到30行)
启动命令
[[email protected] bin]# ./redis-serverredis.conf
查看启动效果:
[[email protected] bin]# ps -ef | grep redis