Redis高级以及面试分析

2020-03-29  本文已影响0人  简简天天

Redis基础

什么是Redis?

Redis是一个开源(BSD)许可的,内存中的数据结构存储系统,key-value的非关系型数据库(nosql not only sql),它可以用作数据库、缓存和消息中间件。

Redis的获取、安装或卸载

$ wget http://download.redis.io/releases/redis-5.0.8.tar.gz
$ tar xzf redis-5.0.8.tar.gz
$ cd redis-5.0.8
$ make

make完后redis-5.0.8目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下:
src 目录 中现在提供了已编译的二进制文件 。使用以下命令运行Redis:

cd src
./redis-server

您可以使用内置客户端与Redis进行交互:

$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
$sudo apt-get update
$sudo apt-get install redis-server

Redis的启动(守护进程的启动)和卸载

#keys * 查看所有key
127.0.0.1:6379> keys *
1) "foo"
2) "fo"
sudo cp redis.conf ./src/
sudo vim redis.conf
 ./redis-server redis.conf
image.png
ps -ef | grep redis
kill -9 13288

redis和memcached对比

redis的数据结构

hash类型设置语法:hset 键 field value,一个键可以有很多个field,很适合存储对象。例如一个hash存储user键,有name和age两个字段
image.png

Redis的持久化策略

2、保存到此文件


image.png

3、压缩方式保存


image.png
采用LZF压缩方式,占用了CPU时间,若关闭,导致数据库文件变的巨大,建议开启。
4、redis数据保存在内存中,redis服务中断再重启,理论上数据会消失。因为dump.rdb文件的存在,重新启动redis服务的时候,会加载dump.rdb文件,恢复数据,所以中断重启,redis的数据还存在。

删掉dump.rdb文件后再重启,数据丢失。
5、优点
适合大规模的数据恢复(压缩保存策略),数据恢复快。
如果业务对数据的完整性和一致性要求不高,RDB是很好的选择。
6、缺点
RDB可能在最后一次备份时宕机了。
备份时占用内存,因为Redis在备份时会独立创建一个子进程,将数据写入到一个临时文件,此时内存中的数据文件是原来的两倍哦,最后再将这个临时文件替换原来的备份文件,当数据比较大的时候,可能会造成redis服务的短暂暂停,卡顿。

Redis的过期键删除和淘汰策略(内存管理:memory management)

Redis的特点是数据存储在内存中,保证数据的高效。那么瓶颈就会在内存这里,应该充分利用有效内存。关于redis的内存管理,redis从两方面处理:

总结

image.png
上一篇下一篇

猜你喜欢

热点阅读