Redis面试学习笔记

Redis学习笔记:

1.非关系型数据库,NoSQL(Not Only SQL)比普通的关系型数据库在某些方面更有优势,例如在海量数据存储中的高效率存储和访问,高并发读写,高可扩展性和高可用性等。NoSQL数据库的四大分类:Key-Value存储,列存储,文档数据库,图形数据库等,其中Redis数据库用到了k-v存储。

2.Redis是用C语言开发的开源的高性能的键值对的数据库,提供多种不同键值数据类型来适应不同场景下的需求,例如:字符串类型(String),列表类型(List),有序集合类型(sorted Set),散列类型(hash),集合类型(Set)。应用场景:缓存,任务队列,网站访问统计,数据过期处理,排行榜,分布式集群架构的session分离。

3.Redis的安装:建议在Linux上安装。

4.在实际的开发中,通常用其他的工具来对Redis进行读取和写入,例如Jedis,是官方推荐的Java客户端开发包,用来连接Redis。

5.Redis数据结构中Key的要求:不能过长和过短,要有统一的命名规范。String类型在Redis中以二进制的格式进行存储,且存入和读取的数据相同,且最多可容纳512M,常用命令:赋值(set key value),取值(get key),修改(getset key value[修改后的value]),删除(del key),计数(incr k)(decr k)。

6.Hash:键值对类型,是String Key 和 String Value的map容器。常用命令:赋值(hset key 【key value】,hmset key 【key ,value】【】),删除(hdel key 【key】【key】),自学命令,取值(hget key /hmget/hgetall),增加数字。

7.List:包括ArrayList和LinkedList。常用命令:两端添加(lpush mylist a b c / rpush),查看列表(lrange mylist 0 6),两端弹出(lpop mylist / rpop),获取列表元素个数(llen mylist),扩展。

8.存储set:set集合中不允许出现重复的元素。常用命令:添加(sadd myset a b c),删除(srem myset 1 2),查看(smembers myset / smember myset a),集合的差集运算(返回两个集合不相同的元素 sdiff mya1 myb1),交集运算(sinter mya2 myb2),并集运算( )。

 9.sorted-set:添加(zadd mysort )

10.Redis的特性:可以包含多个数据库,0-16号数据库,客户端默认连接0号数据库;支持事务操作机制,multi 开启数据库,exec 提交,discard 回滚。

11.Redis的持久化:因为Redis存储的数据存放在内存中,断电即消失,所以需要进行持久化操作,将数据转到硬盘中,有两种方式进行操作:RDB持久化():指定的时间间隔内将内存中的数据和快照写入到磁盘中,优势:整个Redis数据库只包含一个文件,方便恢复,性能最大化,如果数据集很大,数据库启动效率更高。劣势:如想保证数据的高可用性,即最大限度保证数据的丢失,不要选择这种方法,因为还没到时间进行保存数据或许就宕机了,数据即丢失。配置:save 300 10 即每300秒有10个key发生变化就进行保存;AOF持久化:以日志的方式记录服务器所处理的每一步操作。优势:可以有更高的安全性。劣势:效率比RDB低。同时使用RDB和AOF。

redis面试常见问题总结:https://blog.youkuaiyun.com/qq_34337272/article/details/80012284   https://blog.youkuaiyun.com/middleware2018/article/details/80355418  https://www.cnblogs.com/lfs2640666960/p/9700706.html

面试的几大主要问题:

Redis是什么??

1 Redis与Memcached的区别与比较

2 Redis常见数据结构使用场景

3 MySQL里有2000w数据,Redis中只存20w的数据,如何保证Redis中的数据都是热点数据(redis有哪些数据淘汰策略???)

4 Redis的并发竞争问题如何解决?

5 Redis回收进程如何工作的? Redis回收使用的是什么算法?

6 Redis 大量数据插入

7 Redis 分区的优势、不足以及分区类型

8 Redis持久化数据和缓存怎么做扩容?

9 Redis与消息队列

10 redis的发布与订阅

11 redis的服务相关的命令

12 Redis集群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值