![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 77
xiaohei_xiaobai
后台开发小学生
展开
-
一文掌握全部redis面试题
1.redis持久化机制1)实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中, 然后由子进程写入到临时文件中,持久化的过程结束了, 再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。2)RDB(默认):按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。 对应产生的数据文件为dump.rdb,通过配置文件中的save参数来定义快照的周期。 (快照可以是其所表示的数据的一个副本.原创 2020-12-08 17:10:45 · 396 阅读 · 0 评论 -
面试遇到的redis相关问题
1.redis持久化机制1)实现:单独创建fork()一个子进程,将当前父进程的数据库数据复制到子进程的内存中,然后由子进程写入到临时文件中,持久化的过程结束了, 再用这个临时文件替换上次的快照文件,然后子进程退出,内存释放。2)RDB(默认)(体积小,速度快,丢数据):按照一定的时间周期策略把内存的数据以快照的形式保存到硬盘的二进制文件。即Snapshot快照存储,对应产生的数据文件为dump.rdb, 通过配置文件中的save参数来定义快照的周期。(快照可原创 2020-11-10 16:21:41 · 432 阅读 · 0 评论 -
缓存穿透、缓存雪崩、缓存击穿、缓存预热
实际工作中虽然没有遇到过,但是这种事情还是不要遇到的好,所以提前加好防护策略测试王道。1.缓存穿透用户查询的数据,数据库中没有,那缓存中也不会有,用户就会绕过缓存直接查询底层数据库,如果用户大量进行这种操作,比如黑客攻击,就会造成底层数据库崩溃,这种现象成为缓存穿透。解决方案:1)对查询结果为空的情况也进行缓存,缓存时间设置短一点,或者该key对应的数据insert了之后清理缓存。...原创 2020-04-14 17:32:22 · 114 阅读 · 0 评论 -
redis数据类型及其应用场景
1.stringRedis的字符串是动态字符串(SDS),是可以修改的字符串,它的内部表示就是一个字符数组,它的内部结构是一个带长度信息的字节数组,可以包含任何数据。使用场景:string类型使用场景2.hash相当于python中的dict。使用场景:适合存储json对象等。3.list详单于python中的list。使用场景:消息队列4.set相当于py...原创 2020-04-14 19:15:45 · 156 阅读 · 0 评论 -
redis-HyperLogLog基数统计
redis在2.8.9 版本添加了 HyperLogLog 数据结构,用于统计非重复数据个数,这个功能利用redis的set也能实现,但是为什么还要提供HyperLogLog呢?原因在于如果有时我们只需要计算基数个数,不要存储具体的数据时,数据量很大,如果利用set会浪费很大的内存消耗,但是HyperLogLog的有点时,他所需要的内存空间不会随着数据量的增大而增大,当统计元素很少时,HyperL...原创 2020-04-14 20:43:29 · 176 阅读 · 0 评论 -
一文读懂redis五大数据类型的底层实现
redis有五大数据类型,字符串对象(string)、列表对象(list)、哈希对象(hash)、集合(set)对象和有序集合对象(zset),redis构建了一个对象系统,每个数据类型都是一个对象,由于redis是key,value的形式存储的,所以每新建一个数据,系统就会新建两个对象,一个是key对象,一个是value对象,每个对象有五个属性,如下:typedef struct redisObject{ //类型 unsigned type:4; //编码原创 2020-05-11 21:00:38 · 878 阅读 · 0 评论 -
使用redis锁的正确姿势
redis锁的使用方式一般有三种,INCR,SETNX,SET。1.INCRINCR命令会将key的值加一,如果key值不存在,则key值会被初始化为0,然后执行INCR操作。127.0.0.1:6379> GET LOCK_1234(nil)127.0.0.1:6379> INCR LOCK_1234(integer) 1127.0.0.1:6379> GET LOCK_1234"1"利用INCR命令,结合程序构建锁,具体使用逻辑如下:1)创建程序中需要加原创 2020-05-19 16:20:49 · 766 阅读 · 0 评论