当前位置: 首页 > 开发知识 >

redis

作者:游戏app开发公司 阅读: 发布时间:2024-08-22 17:00

摘要:或者没有使用过redis,我估计你都不好意思出去找工作,即使你有脸去找工作,我估计面试官也没脸让你进入公司。...

_redis一致性哈希算法_java缓存技术redis

redis

现在作为一个程序员,如果你不了解redis,或者没有使用过redis,我估计你都不好意思出去找工作,即使你有脸去找工作,我估计面试官也没脸让你进入公司。

Redis是什么?为什么几乎100%的面试都会或多或少的提到它。为什么很多大公司都要求你会使用redis。答案就是这是你在开发过程中必不可少的一个软件应用。可能很多小公司不会使用它,但是只要有一定规模的应用,你一定会考虑使用redis,因为它对高并发和减少延迟起的作用太大了。

Redis从本质上来说数据库。数据库我们都知道,我们网站上看到的信息,用户提交的信息,所有的这些内容都会保存到数据库里面。常见的mysql,oracle,sqlserver这些都是我们熟悉的数据库,为什么有了它们,我们还要使用redis呢?因为redis数据库中的数据是保存在内存中的,而其它的数据库是保存在硬盘上的。硬盘和内存的访问速度,不用我说,大家也知道是天壤之别。正是因为人们觉得访问数据库成为了应用系统性能的瓶颈。人们就考虑如何提升数据库访问效率,于是内存数据库redis就诞生了。有了redis,从此我们访问数据变得异常高效。但是内存毕竟是有限的,所以我们都是根据28定律,把热数据(经常访问的数据)放到redis中,其它的数据依然使用mysql等数据库保存。

提到redis,面试官一般最先问的一定是它有哪些数据结构,那么redis都有哪些数据结构呢?

1 字符串类型

2 哈希类型

3 列表类型

_redis一致性哈希算法_java缓存技术redis

4 集合类型

5 有序集合类型

这些数据结构都是为了解决某种问题而设计的。

第二个问题就会问到redis既然是在内存中保存数据的,那么如果断电,数据丢失怎么办?其实这个问题就是问redis如何做持久化的,就是问redis如何把内存数据保存到硬盘上的。

Redis提供了2种持久化的方式,一种是RDB(REDIS database),一种是AOF(append only file).从字面我们就能知道大概的意思。Rdb就是对数据库做快照,就是保存数据库中的数据到文件。Aof就是保存命令,对数据变化的操作进行保存,很类似mysql的binlog就是保存操作。恢复的时候,批量执行命令即可恢复数据。

rdb vs aof

这两个是最主要的问题,当然随着你面试岗位级别的递进。面试官对你的要求也会加深,比如会问你一些底层原理,比如Redis中的字符串在c语言中是如何实现的,它和普通的字符串有什么区别。还会深入问你redis单进程如何实现高并发的。持久化的时候,具体是怎样的一个流程。当然也会问你一些redis中的参数配置,毕竟这是考验你是否真正使用过redis。

很多大公司的redis服务器都不止一台,有可能成百上千台,那就涉及到redis集群和分布式部署。Redis一直在等待着,也许有一天会有新的软件替代它,但是在那之前,它永远都在不停地激励着软件向前发展。

  • 原标题:redis

  • 本文由游戏app开发公司小编,整理排版发布,转载请注明出处。部分文章图片来源于网络,如有侵权,请与迪集网络联系删除。
  • 微信二维码

    CLWL6868

    长按复制微信号,添加好友

    微信联系

    在线咨询

    点击这里给我发消息QQ客服专员

    点击这里给我发消息电话客服专员

    在线咨询

    免费通话


    24h咨询☎️:132-5572-7217


    🔺🔺 24小时客服热线电话 🔺🔺

    免费通话
    返回顶部