快速了解redis
- 什么是redis?为什么要使用redis?
redis是一个基于内存的,键值对 Key-Value 的非关系型数据库,它在取值的时候是去内存中取的,所以查询的效率很快。一般使用redis做缓存,可以大大减轻服务器的压力。 - redis,memcache,mongodb相比较有什么优势?
redis有持久化方式可以做存储,而memcache没有持久化方式只能坐缓存。
redis可以存放五种数据类型string,list,hash,set,zset,而memcache只能存放字符串类型。
mongodb虽然支持的数据类型多,但是不支持事务而redis支持事务。 - redis的两种持久化方式?两者的优缺点?
rdb:是以快照的形式进行保存,就是把当前的数据拍张照片,在达到拍照规则的时候进行拍照,把数据都记录下来。服务器重启的时候根据记录的数据进行恢复。拍照规则可在redis.conf文件配置。
aof: 是以日志的形式进行保存,他会把每次对数据库进行的增删改操作都记录下来,服务器重启的时候根据日志中之前的记录进行数据的恢复。
优缺点:
aof是根据操作进行恢复所以效率低;rdb是直接根据数据进行恢复所以效率高
aof安全性比rdb高,如果说数据一直在增加,在没有达到拍照规则的时候服务器宕机了,这时会丢失一部分数据。所以aof更安全。
我们可以采用aof+rdb两者都使用的形式进行持久化操作,大部分数据用rdb进行恢复,小部分可能会丢失的数据用aof进行恢复。 - 为什么说redis可以实现缓存?
用户在进行访问的时候先去redis数据库中进行查询,如果查询结果为空,那么去mysql数据库进行查询,查出来的数据先保存到redis数据库中,最后在返回前台。以后用户在第二次进行访问的时候直接在redis数据库中就能获取到,不需要再去mysql数据库查询。既提升了查询效率又减轻了mysql的压力,这时redis就起到了缓存的作用。
linux下安装部署redis
- 下载linux压缩文件: http://download.redis.io/releases/redis-5.0.0.tar.gz
- 首先需要安装gcc
- tar zxvf redis-5.0.0.tar.gz 进行解压。
- cd redis-5.0.0
- make 对解压后的文件进行编译。
- cd src
- make install 安装。验证(ll查看src下的目录,有redis-server 、redis-cil即可)
- 为了方便管理,建立俩个文件夹存放redis命令和conf配置文件
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc - 执行文件移动命令
(1). mv /安装路径/redis-5.0.0/redis.conf /usr/local/redis/etc
或者 cp /安装路径/redis.conf /usr/local/redis/etc/
(2). mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump
redis-cli redis-server /usr/local/redis/bin - cd /usr/local/redis/etc
- vi redis.conf —将daemonize属性改为yes(表明需要在后台运行)
- 启动 ./redis-server /usr/local/redis/etc/redis.conf
- 验证启动是否成功:
ps -ef | grep redis 查看是否有redis服务 或者 查看端口:netstat -tunpl | grep 6379 - 进入redis客户端: ./redis-cli
- 退出客户端:quit退出客户端:quit
- 退出redis服务:pkill redis-server, kill 进程号, /usr/local/redis/bin/redis-cli shutdown