面试时频繁被问Redis缓存,这究竟是什么原因,我该如何快速掌握?
- 内容介绍
- 文章标签
- 相关推荐
本文共计5472个文字,预计阅读时间需要22分钟。
大 家 好,我 是 谁。这是我第一次接触缓存存储的时候,用的是map做的。当时是做的一个实时数据同步的功能。需要看一个简单示例,一传一取。当时是通过websocket获取服务端数据;然后根据数据类型,将数据进行缓存。
大家好,我是哪吒。
我第一次接触缓存的时候,是用map做的,当时做一个实时数据同步的功能。
需求看似简单,一取一传
- 当时是通过websocket获取服务端数据;
- 然后根据数据类别,将数据缓存到本地map中;
- 做了一个定时任务,通过ftp上传给第三方服务器;
当有并发时,map是不行的,数据会错乱,使用ConcurrentHashMap可以解决并发数据错乱问题。
- 现场网络很不稳定,FTP时好时坏;
- 做的是一个安全问题的实时监控系统,第三方数据要求还很严格,必须100%准确。
这矛盾怎么解决,无解了。
起初,是通过重启的方式解决的,哈哈,重启解决一切烦恼。
- 添加一个心跳功能,实时监控FTP服务的状态;
- 如果断了7秒以上,就采取报警功能,我记得设置的是火警的音乐,提示现场人员排查FTP网络;
- 如果断了1分钟以上,就将软件自动重启。
但是,又出现了一个新的问题,数据丢了。
因为用的是ConcurrentHashMap缓存数据,也就是本地缓存,你重启了,数据不就没了吗?兄弟。
到后来,才发现,当时做的真的是稀烂,本地缓存应该具有很多功能,当时这些,压根就没有。
本文共计5472个文字,预计阅读时间需要22分钟。
大 家 好,我 是 谁。这是我第一次接触缓存存储的时候,用的是map做的。当时是做的一个实时数据同步的功能。需要看一个简单示例,一传一取。当时是通过websocket获取服务端数据;然后根据数据类型,将数据进行缓存。
大家好,我是哪吒。
我第一次接触缓存的时候,是用map做的,当时做一个实时数据同步的功能。
需求看似简单,一取一传
- 当时是通过websocket获取服务端数据;
- 然后根据数据类别,将数据缓存到本地map中;
- 做了一个定时任务,通过ftp上传给第三方服务器;
当有并发时,map是不行的,数据会错乱,使用ConcurrentHashMap可以解决并发数据错乱问题。
- 现场网络很不稳定,FTP时好时坏;
- 做的是一个安全问题的实时监控系统,第三方数据要求还很严格,必须100%准确。
这矛盾怎么解决,无解了。
起初,是通过重启的方式解决的,哈哈,重启解决一切烦恼。
- 添加一个心跳功能,实时监控FTP服务的状态;
- 如果断了7秒以上,就采取报警功能,我记得设置的是火警的音乐,提示现场人员排查FTP网络;
- 如果断了1分钟以上,就将软件自动重启。
但是,又出现了一个新的问题,数据丢了。
因为用的是ConcurrentHashMap缓存数据,也就是本地缓存,你重启了,数据不就没了吗?兄弟。
到后来,才发现,当时做的真的是稀烂,本地缓存应该具有很多功能,当时这些,压根就没有。

