关于数据库的存储与读取的问题
老师,Redis是利用内存读取来优化程序的执行速度的,因为传统的MySQL等数据库是直接在磁盘上存储读取数据的,对于数据量较大的信息来说,速度上有劣势,但我还是对数据库的存储和读取有一些疑惑:
对于Redis来说,既然是在内存中进行读写来提高效率,因为一台电脑的内存是十分有效的,它是如何把数据放到磁盘中而进行持久化的呢?不是说把数据放到缓存中么,怎么转移到磁盘去了?
另外,如果Redis是把数据放到磁盘上实现持久化的话,那在此启动程序读取旧数据的时候不是应该从磁盘中拿数据的么?这样的话,又怎么能做到在内存中获取数据来提高速度呢?
因为数据是存储到磁盘上的,所以还是要占据一部分的磁盘空间,怎么知道自己的哪些数据库的数据是存储在磁盘的什么地方啊?如果要卸载清空某个数据库的话,会把它内部存储在磁盘的数据一并删除么?如如果是这样的话,那数据库需要更新的时候岂不是很不方便
正在回答
同学你好,将磁盘中的数据读取到内存中的速度会很快,不会花费很多时间。另外在Redis中,可以通过配置文件,每隔一段时间,将内存中的数据写入磁盘,进行持久化操作。
祝:学习愉快~
同学你好,关于同学的问题:
1、Redis的存储分为内存存储、磁盘存储和log文件三部分,启动Redis后,Redis可以从磁盘将数据加载到内存中,这些可以通过配置文件对其进行配置。
2、启动Redis后可以从磁盘将数据加载到内存中,在内存中读取数据来提高速度。
3、数据在磁盘中的位置,是根据配置文件中配置的来决定的,比如Redis.conf配置文件中,设置dir ./就是将数据存储在该目录下,dbfilename dump.rdb就是存储数据的文件名。如果要清空某个数据库,会将存储在磁盘的数据删除。所以在更新时,应该先删除缓存,然后再更新。
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星